Anfänger Braucht Hilfe in C++
-
Hi leute ich bin noch neu kenne mich noch net so mit C++ habe mich so bischen mit der hilfe durchgefightet will eine Konsolen anwendung schreiben so eine art Chat bot aber mein code macht net das was es soll ich will zuerst den namen einlesen und dann eine von 7 Möglichen antworten ausgeben und das dann auch mit dem Alter aber das macht er nicht er liest den namen ein und dann kann ich so oft ENTER drücken wie ich will er macht nix mehr HILFE???
Das ist mein code:
#pragma hdrstop #include <condefs.h> #include <windows.h> #include <iostream.h> #include <conio.h> #include <stdlib.h> //--------------------------------------------------------------------------- int main () { randomize (); char a [5000]; char b [5000]; int i=rand()%7; int u=rand()%7; //----------------------------Name Block--------------------------------------- system ("color 1a"); cout<<"ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ"<<'\n; cout<<" Wilkommen Dieses Programm is Made by ****** *.'\n'; cout<<"ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ"<<'\n'; //Random auswahl an Antworten char * Name []= {"Willkommen ", //Möglichkeit 1 "Hallo ", //Möglichkeit 2 "Na wie gehts ", //Möglichkeit 3 "Freut mich dich Kennen zu Lernen ", //Möglichkeit 4 "Moin ", //Möglichkeit 5 "Coole sache dich kennen zu Lernen ", //Möglichkeit 6 "Freune mich auf unsere unterhaltung ", //Möglichkeit 7 }; //Namenes Einlesung cout<<"Hey Ich bin Mischa und wie heist du?"<<'\n'; cin>>a; system("cls"); //Random Ausgabe einer der 7 möglichkeiten und dahinter den namen der eingegeben wurde! cout<<Name[i]; cout<<a<<'\n'; //----------------------Alter Block--------------------------------------------- char * Alter []= {"Darf Ich fragen wie alt du bist? ", //Möglichkeit 1 " ", //Möglichkeit 2 " ", //Möglichkeit 3 " ", //Möglichkeit 4 " ", //Möglichkeit 5 " ", //Möglichkeit 6 " ", //Möglichkeit 7 }; //Alter Einlesung cin>>b; system("cls"); //Random Ausgabe einer der 7 möglichkeiten und dahinter den namen der eingegeben wurde! cout<<Alter[u]; cout<<b<<'\n'; getch(); }
-
Hallo
1. Dieses Problem betrifft nicht den BCB, denn du schreibst ja ein C++ - Konsolenprogramm.
2. statt
char a [5000]; char b [5000];solltest du lieber
char *a; char *b;nehmen
3. warum nimmst du zwei Integer? Du brauchst doch nur eine, die du nach jedem einsatz neu mit einer Zufallszahl belegtst
4. Dir ist klar, das beim Alter bloß eine von sieben Möglichkeiten mit einem String belegt ist, und du so einen leeren String ausgeben kannst?
bis bald
akari
-
@akari
Und dir ist hoffentlich klar, dass bei deinem Vorschlag 2 auf nicht allozierten Speicher zugegriffen wird, da für a und b kein Speicher vereinbart wurde.
Ich würde statt char* lieber std::string vorschlagen.
-
Hallo
Und dir ist hoffentlich klar, dass bei deinem Vorschlag 2 auf nicht allozierten Speicher zugegriffen wird, da für a und b kein Speicher vereinbart wurde.
Ich würde statt char* lieber std::string vorschlagen.sorry, zu char* gehört noch ein malloc, das ist mir schon keine Erwähnung mehr wert...
str::string ist natürlich noch besser, aber ich wollte nicht zu viel verlangen...bis bald
akari
-
std::string a[5000]; std::string b[5000];???
und dann sollte es gehen also bei mir spuck der da nur ein cod aus 012441 usw.
ist das die lösung meines problems?
MFG Bully
-
Hallo
string ist bereits ein Kette von Char, also kein zusätzliches Array
std::string a; std::string b;und das std:: kannst du weglassen, wenn du
using namespace std;oben bei deinen Includes hinschreibst.
bis bald
akari
-
Ich will ja jetzt das wenn mein name ausgegeben wir mit einer der 7 möglichkeiten davor danach dann die alters abfrage gemacht wird aber der macht dann nicht weiter... was soll ich machen?
MFG Bully
-
Hallo
also mir fällt auf, das du zurst das Alter einließt
cin>>b; system("cls");und erst dann die Aufforderung ausgibst (die wie bereits gesagt nur mit einer Wahrscheinlichkeit von 1/7 erscheint)
cout<<Alter[u];
Du siehst also keine Aktion mehr, weil du zuerst eine Zahl eingeben mußt und dann keine Ausgabe darauf erscheint. Andererseits sollte aber nach Eingabe einer Zahl aber die Ausgabe
cout<<b<<'\n';kommen.
bis bald
akari
-
Habe gerade noch ein bischen rum probiert und jetzt geht es danke an euch Beide aber bin mir sicher das wir uns noch öfter sehen werden bzw. das ich noch mehr fragen haben werde

MFG Bully
-
Moin Jungs naja so schnell kanns gehen also ich habe ein neunes problem und zwar will ich eine i-net seite öffnen ein meinem programm wie mache ich das ??
MFG Bully
-
CppWebBrowser oder so ähnlich!
Mach 'n neuen Thread zum neuen Thema auf.