Zum Inhalt springen

Dringend Hilfe beim Schreiben von einem C Programm


Empfohlene Beiträge

Geschrieben

Hallo,

ich bitte dringend um Hilfe, da ich ein Lebenserwartungsprogram schreibe und nicht weiter komme!

Das Lebenserwartungsprogram ist eher gesagt ein Test, Fragen wie:

1. Was ist ihr Geschlecht?

A= weiblich

B= männlich

2. Wie lebst du?

A= In einem Stadtgebiet mit über 2 Millionen Einwohnern?

B= In einer Stadt unter 10.000 Leuten oder einem Bauernhof?

C= Weder noch

3. Wie arbeitest du?

A= Arbeitest du hinter einem Schreibtisch?

B= Arbeitest du hart gefordert in einem Physikalischen Labor?

C= Weder noch

etc. sollen zum Schluss auswerten wie alt man wird!

Ich habe mir gedacht ich könnte am Anfang ein durchschnittsalter von 50 ansetzen und bei positiver Antwort immer 2 Jahre daraufaddieren und negativen 0!

Nur weiß ich leider nicht mit welchen Funktionen ich dies umsetzen kann!

Mit If habe ich das Menü erstellt

A. Anleitung

B. Spiel beginnen

C. Ende

!

Bitte helft mir:)

-..muss es bis Morgen Abend fertig haben!

Liebe Grüße;)

Geschrieben

kannst du bitte dein Quellcode uns zeigen was du schon hast?

und wie hast du es dir ungefähr gedacht?

PS: Es bring dir wenig, wenn jmd. hier für dich das Progamm schreibst, weil du so nichts lernst;)

Kleiner Tipp du brauchst paar Variabeln und paar if abfragen ;)

Geschrieben

Ich bin zwar "C++er", aber da das Programm wahrscheinlich Struckturiert geschrieben werden soll, müsste es auch in C gehn: Du hast dir die Antwort doch schon gegeben. Lies mal den 5. letzten Absatz deines Anfangsposts durch und überleg dir, wo du die überlegung am besten Einbaust und das hast du mit deinem Menü schon "geübt". Probier mal selbst drauf zu kommen.

Geschrieben
wie kann ich denn einen "unsichtbaren Zähler einbauen" der die Zahlen auf das mindestalter addiert?

Was soll denn ein "unsichtbarer Zähler" sein?

Um die int-Variable x um (beispielsweise) 5 zu erhöhen, kannst du folgenden Code benutzen:

x+=5;

Geschrieben

ah danke super das funkt, wenn man solch kleine Anweisungen nicht kennt, ist man schon aufgeschmissen!

Kann ich mich also so durch die Fragen arbeiten und mit if anweisungen dann immer +die jahre rechnen ?

oder soll ich die fragen mit switch bearbeiten?

was wäre die beste Lösung?es sind ca. 21 Fragen!

Grüße

Geschrieben

#include <utility.h>

#include <ansi_c.h>

#include <cvirte.h>    /* Needed if linking in external compiler; harmless otherwise */


int main (int argc, char *argv[])

{


	char Eingabe;

	int x;

	x = 50;


	Cls();


	do


		{


	    printf("Test des Zählers!!\n");  



	    printf("\n\n#### Geschlecht ####");


	    printf("\n m = männlich");

	    printf("\n w = weiblich\n\n\n");

	    printf("Bitte geben Sie nun den richtigen Buchstaben ein:\n");

	    printf("Eingabe:");

	    scanf("%c",&Eingabe);



		if(Eingabe!='w','m')

		printf("\n\nBitte gebe w oder m ein\n\n"); 

		Cls();



		}while(Eingabe!='w','m');


	if(Eingabe=='w')


		{


		x+=5;



		}


	if(Eingabe=='m')


		{


		x+=0;

		printf("\n%i",x);


		}



	return 0;

}

Problem:

Kann ich das so machen if(Eingabe!='w','m') ?eher nicht oder, da bei w oder m wieder die eingabeaufforderung kommt, wenn ich nur if(Eingabe!='w') funktioniert es!

Help!

Geschrieben

Kann ich das so machen if(Eingabe!='w','m')

Nein. Das ist zwar syntaktisch richtig, aber der Kommaoperator, der hier zum Einsatz kommt, macht nicht das, was du möchtest. Wenn du mehrere Bedingungen prüfen willst, musst du sie mit den Booleschen Operatoren verknüpfen:

if(Eingabe!='w' && Eingabe !='m')

Geschrieben

Hallo,

warum so kompliziert?


main()

{

   int alter;

   int aenderung; 

   for(i=1; i<21;i++)  //Für 21 Fragen

   {

          aenderung=stellefrage(i)

          alter=alter+aenderung;     

   }

   ausgabe();  //Ausgabe des Alters 

}


int stellefrage(int i)

{

   char auswahl; 

   printf("%s",frage[i]);

   { 

   auswahl=getc();

   if(auswahl==buchstabe1[i])

        return anderung1[i];

   else

      if(auswahl==buchstabe2[i])

        return aenderung2[i];

   else

     if(auswahl==buchstabe3[i])

        return aederung3[i];

    } while (....) //Fehlerabfrage

}

Man könnte daraus auch eine Struktur machen

struct frage

{

 char[40] frage;

 char buchstabe1;

 char buchstabe2;

 char buchstabe3;

 int aenderung1;

 int aenderung2;

 int aenderung3;

};


und die Fragen als Feld in einem eigenen Header ablegen.

struct frage fragen[21]

Geschrieben

hallo,

danke nochmals für die Hilfe..habe das Program soweit fertig!

nur würde ich gerne noch wissen wie ich ein get key() bei einer switch funktion einbaue...

also halt case 1 für Anleitung, case 2 für Spiel und Case 3 für Ende!

Nun will ich halt, das bei Tastendruck von 1,2 oder 3 direkt in das Fenster springt ohne Enter und ohne die Eingabe von 1,2 oder 3 zu sehen !

Grüße und Danke

Geschrieben
wie würde das dann ungefähr bei ner switch funktion aussehen?
Anstatt nach wenigen Minuten mit der nächsten Frage um die Ecke zu kommen, könntest du auch versuchen, deinen Verstand zu benutzen, die Seite (mitsamt dem Beispiel) aufmerksam durchlesen, versuchen zu verstehen, und es selbst mal ausprobieren. Du kannst mir nicht erzählen, dass du das alles in 6 Minuten gemacht hast.

Und wenn du dann immer noch nicht weiterkommst, dann meld dich wieder hier, mit einer konkreten Fragestellung.

Ein wenig selbst Denken ist durchaus erlaubt.

Geschrieben

In Visual C++ ist getch deprecated, da dachte ich, ich verlinke lieber auf die Seite, die nicht nur einen diesbzüglichen Hinweis zeigt, sondern gleich die mit dem passenden Beispiel.

Andere POSIX-konforme Compiler können das natürlich noch anbieten.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...