Ĺadny brzuch
Przesiadłem (przy namowie forumowiczów) z C na C++. Od razu się pojawiły problemy. W C++ nie ma ani printf, ani scanf. Piszę swój pierwszy program do kasowania pliku. Na początku pojawia się pytanie czy chcemy skasować (dwie możliwości odpowiedzi;)) a następnie po skasowaniu pojawia się komunikat czy chcemy powrócić do początku. Poniżej wypisałem cały kod i proszę o znalezienie błedu.
#include <iostream.h>
int main ()
{
char x;
do {
cout << "Czy chcesz skasowac D:/Nowy Dokument tekstowy.txt? n 1-TAK n 0-nie";
cin >> x;
if (x==1) {DeleteFile("D:/Nowy Dokument tekstowy.txt");
}
else {cout << ""D:/Nowy Dokument tekstowy.txt" nie zostal skasowany.n";}
printf("Co robic ? 0-koniec, 1-jeszcze razn");
scanf("%d", &x);
} while (x!=0);
return 0;
}
Początki są trudne :dowhat::lolmao::dowhat:
Malganis
Ja nie widze błedu bo nie znam c++ hahaha:!
TRATAT
cytat:radekw1988 napisał:
Ja nie widze błedu bo nie znam c++ hahaha:!
TRATAT
Ty nie, ale inni tak. Program nie chce skasować pliku :cry::cry::cry:
Malganis
cytat:Malganis napisał:
Przesiadłem (przy namowie forumowiczów) z C na C++. Od razu się pojawiły problemy. W C++ nie ma ani printf, ani scanf. Piszę swój pierwszy program do kasowania pliku. Na początku pojawia się pytanie czy chcemy skasować (dwie możliwości odpowiedzi;)) a następnie po skasowaniu pojawia się komunikat czy chcemy powrócić do początku. Poniżej wypisałem cały kod i proszę o znalezienie błedu.
#include <iostream.h>
int main ()
{
char x;
do {
cout << "Czy chcesz skasowac D:/Nowy Dokument tekstowy.txt? n 1-TAK n 0-nie";
cin >> x;
if (x==1) {DeleteFile("D:/Nowy Dokument tekstowy.txt");
}
else {cout << ""D:/Nowy Dokument tekstowy.txt" nie zostal skasowany.n";}
printf("Co robic ? 0-koniec, 1-jeszcze razn");
scanf("%d", &x);
} while (x!=0);
return 0;
}
Początki są trudne :dowhat::lolmao::dowhat:
Malganis
---- cut ----
else {cout << ""D:/Nowy Dokument tekstowy.txt" nie zostal skasowany.n";}
---- cut ----
bardzo ciekawa ścieżka, nie powiem
dobra do rzeczy :)
otóż w C++ jest tzw. znak ucieczki "slesz"
jeżeli chcesz postawić bekslesza to piszesz
czyli powinno być D:Nowy Dokument tekstowy.txt?
ps. ale nową linie to wiedziałeś jak postawić ;)
milewski28@wp.pl
GG-2720584
Pozdrowka
cytat:radekw1988 napisał:
Ja nie widze błedu bo nie znam c++ hahaha:!
TRATAT
Nie ma to jak nabić sobie posta nic nie wart odpowiedziÂ?? Jak nie znasz C++ to nie pisz takich tekstów, bo wypadłe? głupio i tyle.
mg:
no sorry, ale escape charem w C/C++ jest wła?nie backslash, czyli ''. I jak chce się w tekscie postawić znak , to piszemy - kompilator traktuje pierwszy backslash jako znak specjalny, który każe traktować drugiego jako tekst.
Malganis:
Po pierwsze, na co Ci w C++ printf/scanf?? To s funkcje prawie tak stare, jak dinozaury (no, może nie aż tak :D). Zamiast tego używasz klas cin i cout, które s prostsze w obsłudze, i nie robi Access Violation, jak sobie pomylisz %d z %s :)
Po za ewentualnym printf`em nie widzę tu błędów (printf to błÂd, bo nie includowałe? <stdio.h> ).
Wydaje mi się, że korzystasz z DeleteFile z WinAPI. Je?li tak, to wykorzystaj funkcję GetLastError, która zwraca numer błędu (sprawd? na MSDN za znaczeniem numerów - http://msdn.microsof...error_codes.asp). Sama funkcja DeleteFile jest opisana w http://msdn.microsof.../deletefile.asp.
Ja osobi?cie podejrzewam nazwę - spróbuj skasować plik bez spacji w nazwie. Konwencje nazewnictwa plików w programach dla Windows MSDN opisuje tu - http://msdn.microsof...ming_a_file.asp
Nie pozostaje nic dodać poza Hope That Helps :)
Pozdrawiam,
TeMPOraL
//================================================
KĄESACP: Komputer Ąwiat - Expert Society Against Crap Posting
To join: Put these lines in your signature and don't post crap!
"E = mc... dolen taken my notepad!" - Terran Science Vessel (StarCraft)
GG: 1488052 | temporal@poczta.fm | [url]http://www.temporal-software.prv.pl
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
#include <iostream.h>
int main ()
{
char x;
do {
cout << "Czy chcesz skasowac D:/Nowy Dokument tekstowy.txt? n 1-TAK n 0-nie";
cin >> x;
if (x==1) {DeleteFile("D:/Nowy Dokument tekstowy.txt");
}
else {cout << ""D:/Nowy Dokument tekstowy.txt" nie zostal skasowany.n";}
printf("Co robic ? 0-koniec, 1-jeszcze razn");
scanf("%d", &x);
} while (x!=0);
return 0;
}
Początki są trudne :dowhat::lolmao::dowhat:
Malganis
Ja nie widze błedu bo nie znam c++ hahaha:!
TRATAT
cytat:radekw1988 napisał:
Ja nie widze błedu bo nie znam c++ hahaha:!
TRATAT
Ty nie, ale inni tak. Program nie chce skasować pliku :cry::cry::cry:
Malganis
cytat:Malganis napisał:
Przesiadłem (przy namowie forumowiczów) z C na C++. Od razu się pojawiły problemy. W C++ nie ma ani printf, ani scanf. Piszę swój pierwszy program do kasowania pliku. Na początku pojawia się pytanie czy chcemy skasować (dwie możliwości odpowiedzi;)) a następnie po skasowaniu pojawia się komunikat czy chcemy powrócić do początku. Poniżej wypisałem cały kod i proszę o znalezienie błedu.
#include <iostream.h>
int main ()
{
char x;
do {
cout << "Czy chcesz skasowac D:/Nowy Dokument tekstowy.txt? n 1-TAK n 0-nie";
cin >> x;
if (x==1) {DeleteFile("D:/Nowy Dokument tekstowy.txt");
}
else {cout << ""D:/Nowy Dokument tekstowy.txt" nie zostal skasowany.n";}
printf("Co robic ? 0-koniec, 1-jeszcze razn");
scanf("%d", &x);
} while (x!=0);
return 0;
}
Początki są trudne :dowhat::lolmao::dowhat:
Malganis
---- cut ----
else {cout << ""D:/Nowy Dokument tekstowy.txt" nie zostal skasowany.n";}
---- cut ----
bardzo ciekawa ścieżka, nie powiem
dobra do rzeczy :)
otóż w C++ jest tzw. znak ucieczki "slesz"
jeżeli chcesz postawić bekslesza to piszesz
czyli powinno być D:Nowy Dokument tekstowy.txt?
ps. ale nową linie to wiedziałeś jak postawić ;)
milewski28@wp.pl
GG-2720584
Pozdrowka
cytat:radekw1988 napisał:
Ja nie widze błedu bo nie znam c++ hahaha:!
TRATAT
Nie ma to jak nabić sobie posta nic nie wart odpowiedziÂ?? Jak nie znasz C++ to nie pisz takich tekstów, bo wypadłe? głupio i tyle.
mg:
no sorry, ale escape charem w C/C++ jest wła?nie backslash, czyli ''. I jak chce się w tekscie postawić znak , to piszemy - kompilator traktuje pierwszy backslash jako znak specjalny, który każe traktować drugiego jako tekst.
Malganis:
Po pierwsze, na co Ci w C++ printf/scanf?? To s funkcje prawie tak stare, jak dinozaury (no, może nie aż tak :D). Zamiast tego używasz klas cin i cout, które s prostsze w obsłudze, i nie robi Access Violation, jak sobie pomylisz %d z %s :)
Po za ewentualnym printf`em nie widzę tu błędów (printf to błÂd, bo nie includowałe? <stdio.h> ).
Wydaje mi się, że korzystasz z DeleteFile z WinAPI. Je?li tak, to wykorzystaj funkcję GetLastError, która zwraca numer błędu (sprawd? na MSDN za znaczeniem numerów - http://msdn.microsof...error_codes.asp). Sama funkcja DeleteFile jest opisana w http://msdn.microsof.../deletefile.asp.
Ja osobi?cie podejrzewam nazwę - spróbuj skasować plik bez spacji w nazwie. Konwencje nazewnictwa plików w programach dla Windows MSDN opisuje tu - http://msdn.microsof...ming_a_file.asp
Nie pozostaje nic dodać poza Hope That Helps :)
Pozdrawiam,
TeMPOraL
//================================================
KĄESACP: Komputer Ąwiat - Expert Society Against Crap Posting
To join: Put these lines in your signature and don't post crap!
"E = mc... dolen taken my notepad!" - Terran Science Vessel (StarCraft)
GG: 1488052 | temporal@poczta.fm | [url]http://www.temporal-software.prv.pl