Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
06.06.11, 19:13
|
#1
|
Ist öfter hier
Registriert seit: Oct 2009
Beiträge: 239
Bedankt: 21
|
Probleme bei C++ Quellcode Datei
Hallo Community,
icih habe mich seit den letzten paar Stunden mit C / C++ beschäftigt.
Habe schon meine eigenen kleinen Projekte fertig gestellt wie z.B Taschenrechner & Amperemeter etc.
Wenn ich diese Anwendungen ausprobiere kommt ja dieser kleine schwarze Bildschirm.
Wenn ich dann meine Funktion ausprobiere wie z.B "Geben sie eine Zahl an"
wenn ich diese dann eintippe und enter drücke kommt in millisekunden die "If-Anwendung" und dann schließt sich das Fenster sofort.
Wie kann ich das einstellen bzw. welchen Code gibt das her das dieses Fenster weiter offen bleibt ?
Ich benutze das Programm Code::Blocks 10.05.
Da ich noch ein Anfänger sind sachen Programmiersprache bin entschuldige ich mich für die erläuterung meines Problems.
Mfg
Nanochip
__________________
Wir sollten nie vergessen, dass wir Menschen nur Werkzeuge für die Software sind, damit sich diese verbreiten kann.
|
|
|
06.06.11, 19:37
|
#2
|
Mitglied
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
|
Code:
main() {
...
...
getch ();
}
__________________
entropie erfordert keine wartung
|
|
|
06.06.11, 20:11
|
#3
|
Ist öfter hier
Registriert seit: Oct 2009
Beiträge: 239
Bedankt: 21
|
Danke
Eine Frage habe ich noch.
Ich wollte mal aus langeweile und lernfaktor ein Quiz programmieren.
Das einfache If-Prinzip falls ihr versteht.
Da ich das aber nur gelernt habe mit "Werten" zB.
.................................................. .................................................. ..............
#include <stdio.h> int main () { int eingabe; [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] ("Wie heißt Barack Obama mit Nachname: "); scanf ("%d", &eingabe ); if (eingabe == Barack) [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] ("Sie haben eins eingegeben.\n");
.................................................. .................................................. .............
Wenn ich dieses kompiliere zeigt mir mein Programm immer ein Fehler an das er "Barack" nicht erkennen kann ..
Denke mal das dies keinen Wert entspricht..
Kann ich dies auch umändern das der Quellcode das anerkennt?
Ich hoffe ihr versteht was ich meine
mfg
nanochip
__________________
Wir sollten nie vergessen, dass wir Menschen nur Werkzeuge für die Software sind, damit sich diese verbreiten kann.
|
|
|
06.06.11, 22:20
|
#4
|
Ist öfter hier
Registriert seit: Nov 2009
Beiträge: 219
Bedankt: 189
|
Code:
#include <stdio.h>
int main()
{
int eingabe;
printf ("Wie heißt Barack Obama mit Nachname: ");
scanf ("%d",&eingabe);
if (eingabe == Barack)
printf ("Sie haben eins eingegeben.\n");
}
mit code-tags isses schonmal übersichtlicher.
zum Problem: die variable "eingabe" ist vom datentyp integer, deswegen kann sie auch keine texte (strings) einlesen sondern nur genze zahlen.
|
|
|
06.06.11, 22:37
|
#5
|
Erfahrenes Mitglied
Registriert seit: Jul 2010
Beiträge: 481
Bedankt: 236
|
Ich hab zwar keine Ahnung von C++, aber mir fallen spontan 2 Fehler auf:
-Eingabe ist int, int ist ein Datentyp für ganze Zahlen, was du suchst ist der Datentyp String für Zeichenketten.
-Strings immer mit Anführungszeichen. Der Compiler sieht Barack als Variable.
|
|
|
07.06.11, 05:26
|
#6
|
Erfahrener Newbie
Registriert seit: Aug 2010
Beiträge: 150
Bedankt: 28
|
Zitat:
Zitat von Thelvan
Ich hab zwar keine Ahnung von C++, aber mir fallen spontan 2 Fehler auf:
-Eingabe ist int, int ist ein Datentyp für ganze Zahlen, was du suchst ist der Datentyp String für Zeichenketten.
-Strings immer mit Anführungszeichen. Der Compiler sieht Barack als Variable.
|
Musst also so schreiben:
PHP-Code:
#include <stdio.h>
int main()
{
int eingabe;
printf ("Wie heißt Barack Obama mit Nachname: ");
scanf ("%s",&eingabe);
if (eingabe == "Barack")
printf ("Sie haben eins eingegeben.\n");
}
|
|
|
07.06.11, 07:59
|
#7
|
Erfahrenes Mitglied
Registriert seit: Jul 2010
Beiträge: 481
Bedankt: 236
|
Abgesehen davon, dass eingabe immer noch ein integer ist, ja richtig.
|
|
|
07.06.11, 18:53
|
#8
|
Ist öfter hier
Registriert seit: Oct 2009
Beiträge: 239
Bedankt: 21
|
Danke
__________________
Wir sollten nie vergessen, dass wir Menschen nur Werkzeuge für die Software sind, damit sich diese verbreiten kann.
|
|
|
08.06.11, 08:13
|
#9
|
bla
Registriert seit: Mar 2010
Beiträge: 312
Bedankt: 302
|
Hallo!
PHP-Code:
#include <stdio.h>
#include <string.h>
int main()
{
char szInput[80];
printf ("Wie heißt Barack Obama mit Nachname: ");
gets (szInput);
if (strcmp ("Barack",szInput) == 0)
puts ("Richtig.");
else
puts ("Falsch.");
getch();
return 0;
}
Du könntest dein Quiz aber auch mit vier Antwort-Möglichkeiten machen.
Dann würde eine Integer-Abfrage auch reichen.
|
|
|
08.06.11, 08:35
|
#10
|
Anfänger
Registriert seit: Oct 2009
Beiträge: 15
Bedankt: 3
|
Das ganze hier nochmal in c++ das oben ist ja c
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
int main ()
{
string abfrage;
cout<<"Wie heisst Barack Obama mit Nachname: ";
cin>>abfrage;
if ((abfrage=="Barack")||(abfrage=="barack"));
cout<<"Richtig";
else
cout<<"Falsch";
system ("pause");
return 0;
}
Das system ("pause") hier kann man in c++ zum pausieren der exe benutzen muss aber dann die cstdlib einbinden.
|
|
|
08.06.11, 08:58
|
#11
|
bla
Registriert seit: Mar 2010
Beiträge: 312
Bedankt: 302
|
Zitat:
Zitat von VirusS
Das ganze hier nochmal in c++ das oben ist ja c
|
Ich habe mich nur dem obigen Stil angepasst.
Und ohne einer virtuellen Ableitung ist es auch nur C mit und ohne Klassen ^^
Zitat:
Zitat von VirusS
if ((abfrage=="Barack")||(abfrage=="barack"));
|
Den Strichpunkt noch weg.
|
|
|
08.06.11, 09:15
|
#12
|
Newbie
Registriert seit: Apr 2009
Beiträge: 78
Bedankt: 21
|
Zitat:
Zitat von VirusS
if ((abfrage=="Barack")||(abfrage=="barack"));
|
gibt es in c nicht eine methode ala "tolower" die den string halt in kleinbuchstaben umwandelt und so vergleicht, dann muss man nicht prüfen ob iwas groß oder klein geschrieben ist, somit sollte man sich redundante überprüfungen sparen
|
|
|
08.06.11, 09:26
|
#13
|
Anfänger
Registriert seit: Oct 2009
Beiträge: 15
Bedankt: 3
|
Kann man so oder so machen
@germerm stimmt strichpunkt zu viel
|
|
|
08.06.11, 20:25
|
#14
|
Ist öfter hier
Registriert seit: Oct 2009
Beiträge: 239
Bedankt: 21
|
Ich habe soweit alles hin bekommen.
Nur ein winziges Problem.
Wenn ich meine Anwendung kompiliere und dann über mein Programm CodeBlock laufen lasse klappt alles.
Wenn ich aber seperat in den Ordner gehe und die .exe datei starte klappt soweit auch alles gut.
Wenn ich jetzt bei dem Beispiel ( Quiz ) bei der letzten Frage bin und das Ergebniss bzw. die Antwort eintippe und diese mit Enter bestätige zeigt man in millisekunden ob es richtig oder falsch ist und dann schließt sich die anwendung.. wie bekomme ich das hin das diese anwendung noch bestehen bleibt ?
mfg
nanochip
__________________
Wir sollten nie vergessen, dass wir Menschen nur Werkzeuge für die Software sind, damit sich diese verbreiten kann.
|
|
|
08.06.11, 21:54
|
#15
|
No0n3
Registriert seit: Mar 2010
Beiträge: 234
Bedankt: 875
|
Machste ne int Variable und am Ende machste cin>>Variable;
Oder wie oben schon erwähnt:
#include <cstdlib>
system ("pause");
__________________
Everything's gonna be alright...
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:33 Uhr.
().
|