login  Naam:   Wachtwoord: 
Registreer je!
 Forum

c++ oude text weghalen

Offline thyssimonis - 24/08/2005 11:40 (laatste wijziging 24/08/2005 17:23)
Avatar van thyssimonisPHP interesse Ik ben bezig met een c++ ping tooltje.

  1. #include <iostream.h>
  2. #include <windows.h>
  3.  
  4. int main()
  5. {
  6. int keuze;
  7. char adres;
  8. char janee;
  9.  
  10. menu:
  11. cout << "Welkom, bij het handige tooltje op te pingen!" << endl;
  12. cout << "1. Pingen" << endl;
  13. cout << "2. Stoppen\n" << endl;
  14. cout << "Voer u keuzen in:\t" << endl;
  15. cin >> keuze;
  16.  
  17. if(keuze==1) { goto ping; }
  18. if(keuze==2) { goto exit; }
  19. else {
  20. cout << "Ongeldige invoer!" << endl;
  21. cout << "Druk een toets in om veder te gaan" << endl;
  22. goto menu;
  23. }
  24.  
  25. ping:
  26. cout << "Voer adres of ip in:\t" << endl;
  27. cin >> adres;
  28. system("ping adres");
  29. cout << "\nWil u nog een adres of ip pingen? [Ja/Nee]:" << endl;
  30. cin >> janee;
  31.  
  32. if(janee=='jaa') { goto ping; }
  33. if(janee=='nee') { goto exit; }
  34. else { goto exit; }
  35.  
  36.  
  37. cin.get();
  38. return 0;
  39. }


Ik heb 3 dingen die het niet doen:(
1. Als ik nou bijv 1 invull ga ik naar ping gedeelte maar de oude text blijft nog staan:S
2. als je bij3 invult krijg je ongeldige invoer en gaat gelijk naar het menu weer, hij moet pas gaan als er op een toets is geklikt.
3. Het pingen lukt niet ik wacht en daarna sluit

18 antwoorden

Gesponsorde links
Offline MechaVore - 24/08/2005 11:42
Avatar van MechaVore Gouden medaille

PHP gevorderde
Hij slaat gewoon een paar regels over, hoe je dat op zou kunnen lossen is door een zooi regels over te slaan, Ik ben niet meer zo met C++ bezig maar ik weet wel dat het zo kan.
Offline thyssimonis - 24/08/2005 11:52 (laatste wijziging 24/08/2005 17:42)
Avatar van thyssimonis PHP interesse Kan ook anders, ik wil gelijk netjes doen!
Offline Fenrir - 24/08/2005 18:04
Avatar van Fenrir PHP expert Volgens mij niet. (iig niet cross-platform). Sla gewoon regels over, en dan:

gotoxy(1,1);
Offline thyssimonis - 24/08/2005 18:23 (laatste wijziging 25/08/2005 00:08)
Avatar van thyssimonis PHP interesse Ja had ik ook al ondekt heb de meeste fouten er uit gehaald ik hou er 2 over!
Ik heb dit:
  1. #include <iostream.h>
  2. #include <windows.h>
  3. #include <stdio.h>
  4.  
  5.  
  6. int main()
  7. {
  8. int keuze;
  9. char[50] adres;
  10. char janee;
  11.  
  12. menu:
  13. system("cls");
  14. cout << "Welkom, bij het handige tooltje op te pingen!" << endl;
  15. cout << "1. Pingen" << endl;
  16. cout << "2. Stoppen\n" << endl;
  17. cout << "Voer u keuzen in:\t" << endl;
  18. cin >> keuze;
  19.  
  20. system("cls");
  21. if(keuze==1) { goto ping; }
  22. if(keuze==2) { goto exit; }
  23. else {
  24. cout << "Ongeldige invoer!" << endl;
  25. cerr << "Druk een toets in om veder te gaan" << endl;
  26. getchar();
  27. goto menu;
  28. }
  29.  
  30. ping:
  31. system("cls");
  32. cout << "Voer adres of ip in:\t" << endl;
  33. cin.getline (adres, 50);
  34. system("ping" + adres);
  35. cout << "\nWil u nog een adres of ip pingen? [Ja/Nee]: " << endl;
  36. cin >> janee;
  37.  
  38. system("cls");
  39. if(janee=='ja') { goto ping; }
  40. if(janee=='nee') { goto exit; }
  41. else { goto exit; }
  42.  
  43. return 0;
  44. }


De fout:
  1. char[50] adres;
  2. ^
  3. main.cpp(9) : Error: identifier or '( declarator )' expected
  4. cin.getline (adres, 50);
  5. ^
  6. main.cpp(33) : Error: undefined identifier 'adres'
  7. --- errorlevel 1



Echt niemand die mij kan helpen:(
Offline Ontani - 24/08/2005 23:54
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
char adres[50] misschien
Offline thyssimonis - 25/08/2005 00:07
Avatar van thyssimonis PHP interesse Bedankt, dat is 1 error weg!

  1. system("ping" + adres);
  2. ^
  3. main.cpp(35) : Error: illegal pointer arithmetic
  4. Had: char const *
  5. and: char *
  6. --- errorlevel 1
Offline Ontani - 25/08/2005 00:46
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
system("ping %c", adres);
Offline thyssimonis - 25/08/2005 01:22
Avatar van thyssimonis PHP interesse
  1. C:\Program Files\C-Compiler\dm\bin>dmc main
  2. system("ping %c", adres);
  3. ^
  4. main.cpp(32) : Error: 1 actual arguments expected for system, had 2
  5. system("ping" + adres);
  6. ^
  7. main.cpp(35) : Error: illegal pointer arithmetic
  8. Had: char const *
  9. and: char *
  10. --- errorlevel 1
Offline Ontani - 25/08/2005 01:28 (laatste wijziging 25/08/2005 01:28)
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
probeer eens

  1. system("ping " << adres);
Offline thyssimonis - 25/08/2005 01:39
Avatar van thyssimonis PHP interesse
  1. system("ping " << adres);
  2. ^
  3. main.cpp(32) : Error: illegal operand types
  4. Had: char const *
  5. system("ping" + adres);
  6. ^
  7. main.cpp(35) : Error: illegal pointer arithmetic
  8. Had: char const *
  9. and: char *
  10. --- errorlevel 1


Offline Fenrir - 25/08/2005 09:00
Avatar van Fenrir PHP expert Ik dacht ergens gelezen te hebben dat system("cls"); een nieuw proces startte? (zware overkill om het scherm leeg te maken als dat waar is)

Misschien is er wat fout aan de typen? Als je "een paar tekens" doet, is dat dan standaard een string? Of een char[]? Misschien moet je het dan naar dat type casten?
Offline thyssimonis - 25/08/2005 17:54
Avatar van thyssimonis PHP interesse Ik snap je niet 
en
system("cls");
had ik al gebruikt!
Offline DRUNK - 25/08/2005 19:12 (laatste wijziging 25/08/2005 20:12)
Avatar van DRUNK PHP gevorderde Ben je nou met c++ bezig of een .bat file?

In een ver verleden heb ik geleerd 'goto' niet te gebruiken (dat het nogsteeds ondersteund word..?)

Waarom schrijf je het niet gewoon in een .bat (shellscript voor windhoos) als je toch een system call naar 'ping' doet?

Als je toch met c++ bezig bent gebruik de string classe i.p.v. de oude C style strings (char array's)
  1. #include <iostream>
  2. #include <string>
  3.  
  4. int main(void) {
  5. std::string input;
  6.  
  7. std::cout << "Geef input: ";
  8.  
  9. getline(std::cin, input);
  10.  
  11. std::cout << "U schreef: " << input << std::endl;
  12. std::cout << "Lengte van 'input': " << input.length() << std::endl;
  13.  
  14. return 0;
  15. }

PS: Dit is c++ dus: include <iostream> // dus zonder .h, met .h is erg oud
Offline thyssimonis - 25/08/2005 19:30 (laatste wijziging 25/08/2005 23:28)
Avatar van thyssimonis PHP interesse Nou, dan staan hier oude tutorials op sitemasters.be!

Kan iemand niet voor mij hellemaal het script bug vrij maken?
Dan weet ik het gelijk en kan ik het nooit meer fout doen.
Offline DRUNK - 26/08/2005 02:08
Avatar van DRUNK PHP gevorderde Misschien heb je hier wat aan, kan het hier niet testen geen Windhoos op laptop.
  1. /* http://cpp.enisoc.com/articles/clrscr/ */
  2.  
  3. #include <windows.h>
  4.  
  5. void clrscr()
  6. {
  7. HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
  8. COORD coord = {0, 0};
  9. DWORD count;
  10.  
  11. CONSOLE_SCREEN_BUFFER_INFO csbi;
  12. GetConsoleScreenBufferInfo(hStdOut, &csbi);
  13.  
  14. FillConsoleOutputCharacter(hStdOut, ' ', csbi.dwSize.X * csbi.dwSize.Y, coord, &count);
  15.  
  16. SetConsoleCursorPosition(hStdOut, coord);
  17. }
  18.  
  19. int main()
  20. {
  21. clrscr();
  22. return 0;
  23. }
Offline thyssimonis - 26/08/2005 02:43 (laatste wijziging 26/08/2005 04:16)
Avatar van thyssimonis PHP interesse Dit gaat voor mij denk ik een beetje te ver. Ben nog maar een beginner hier snap ik niks meer van.
Maar met een schoon veld beginne had ik al opgelost met
system("cls");

Het pingen is nu gelukt:p

  1. #include <iostream.h>
  2. #include <windows.h>
  3. #include <string.h>
  4. #include <stdio.h>
  5.  
  6.  
  7. int main()
  8. {
  9. int keuze;
  10. char buffer[128];
  11. char adres[50];
  12. char janee;
  13.  
  14.  
  15. menu:
  16. system("cls");
  17. cout << "Welkom, bij het handige tooltje op te pingen!" << endl;
  18. cout << "1. Pingen" << endl;
  19. cout << "2. Stoppen\n" << endl;
  20. cout << "Voer u keuzen in:\t" << endl;
  21. cin >> keuze;
  22.  
  23. system("cls");
  24. if(keuze==1) { goto ping; }
  25. if(keuze==2) { goto exit; }
  26. else {
  27. cout << "Ongeldige invoer!" << endl;
  28. cerr << "Druk een toets in om veder te gaan" << endl;
  29. getchar();
  30. goto menu;
  31. }
  32.  
  33. ping:
  34. cout << "Voer adres of ip in:\t" << endl;
  35. cin >> adres;
  36. sprintf(buffer, "ping %s", adres);
  37. system(buffer);
  38. cout << "\nWil u nog een adres of ip pingen? [Ja/Nee]:\t " << endl;
  39. cin >> janee;
  40.  
  41. system("cls");
  42. if(janee=='ja') { goto ping; }
  43. if(janee=='nee') { goto exit; }
  44. else { goto exit; }
  45.  
  46. return 0;
  47. }


Allen dit nog
  1. cout << "\nWil u nog een adres of ip pingen? [Ja/Nee]:\t " << endl;

Als ik dan "ja" in typ sluit hij ook af:s
Offline DRUNK - 26/08/2005 12:11 (laatste wijziging 26/08/2005 13:16)
Avatar van DRUNK PHP gevorderde Je hebt 'janee' als char gedefineerd, de waarde die er in komt is dus alleen de eerste letter die je invoerd.

In je if statement kijk je of 'janee' de waarde 'ja' of nee bevat, dat doet deze niet dus het programma beindigd.

  1. // bla bla ...
  2. int main() {
  3. // blabla
  4. char janee[4]; // defineer char array van 3 maximaal 3 tekens (nee+\0)
  5. // blabla nog meer code ...
  6.  
  7. cin >> janee;
  8.  
  9. system("cls");
  10. if (janee == "ja") goto ping;
  11. else goto exit;
  12.  
  13. // en de rest ...
  14. }

of
  1. // bla bla ...
  2. int main() {
  3. // blabla
  4. char janee; // defineer char ...
  5. // blabla nog meer code ...
  6.  
  7. cout << "\nWil u nog een adres of ip pingen? [J/n]:\t " << endl;
  8. cin >> janee;
  9.  
  10. system("cls");
  11. if (janee == 'J') goto ping;
  12. else goto exit;
  13.  
  14. // en de rest ...
  15. }


PS: waarom include je stdio? Dit is de C I/O library waar printf(), scanf() ed. gedefineerd worden, die gebruik je toch niet in c++.
Offline thyssimonis - 26/08/2005 13:22
Avatar van thyssimonis PHP interesse Als ik #include <stdio.h> weg haal krijg ik error!
En doet alles het:P
Bedankt
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.295s