Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Forentreff 2012     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: DOS und Win32-Konsole ::  C++ Anfänger- Programm funktoniert nicht!  
Gehen Sie zu Seite Zurück  1, 2, 3, 4  Weiter
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
genoni
Mitglied

Benutzerprofil
Anmeldungsdatum: 02.02.2012
Beiträge: 12
Beitrag genoni Mitglied 23:47:00 03.02.2012   Titel:              Zitieren

Herzlichen Dank, jetzt hab ich alles so:
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <cstdlib>
#include
<iostream>

using namespace std;

int main(int argc, char *argv[])
{
float Gesamtpunktzahl;
printf("Bitte geben sie die Gesamtpunktzahl ein: \n");
scanf("%d",&Gesamtpunktzahl);

float r;
printf("Bitte geben sie ein, welche Punktzahl für eine Sechs nötig ist: \n");
scanf("%d",&r);

float punktezahleins;
printf("Bitte geben sie ein, welche Punktzahl für eine Eins nötig ist: \n");
scanf("%d",&punktezahleins);

float y;
float erreichtepunktzahl;
printf("Bitte geben sie ein, welche Punktzahl der Schueler erreicht hat : \n");
scanf("%d",&erreichtepunktzahl);
y=(erreichtepunktzahl*5);
{
float Ergebnis;
while(Ergebnis!=7);
}
{
float Ergebnis;
float note;
float r;
float z;
float x;
r=punktezahleins;
x=(y/r);
note=(x+1);


printf("Die note ist %d\n",note);
    return EXIT_SUCCESS;
}
}
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <cstdlib>
#include
<iostream>

using namespace std;

int main(int argc, char *argv[])
{
float Gesamtpunktzahl;
printf("Bitte geben sie die Gesamtpunktzahl ein: \n");
scanf("%d",&Gesamtpunktzahl);

float r;
printf("Bitte geben sie ein, welche Punktzahl für eine Sechs nötig ist: \n");
scanf("%d",&r);

float punktezahleins;
printf("Bitte geben sie ein, welche Punktzahl für eine Eins nötig ist: \n");
scanf("%d",&punktezahleins);

float y;
float erreichtepunktzahl;
printf("Bitte geben sie ein, welche Punktzahl der Schueler erreicht hat : \n");
scanf("%d",&erreichtepunktzahl);
y=(erreichtepunktzahl*5);
{
float Ergebnis;
while(Ergebnis!=7);
}
{
float Ergebnis;
float note;
float r;
float z;
float x;
r=punktezahleins;
x=(y/r);
note=(x+1);


printf("Die note ist %d\n",note);
return EXIT_SUCCESS;
}
}
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <cstdlib>
#include
<iostream>

using namespace std;

int main(int argc, char *argv[])
{
float Gesamtpunktzahl;
printf("Bitte geben sie die Gesamtpunktzahl ein: \n");
scanf("%d",&Gesamtpunktzahl);

float r;
printf("Bitte geben sie ein, welche Punktzahl für eine Sechs nötig ist: \n");
scanf("%d",&r);

float punktezahleins;
printf("Bitte geben sie ein, welche Punktzahl für eine Eins nötig ist: \n");
scanf("%d",&punktezahleins);

float y;
float erreichtepunktzahl;
printf("Bitte geben sie ein, welche Punktzahl der Schueler erreicht hat : \n");
scanf("%d",&erreichtepunktzahl);
y=(erreichtepunktzahl*5);
{
float Ergebnis;
while(Ergebnis!=7);
}
{
float Ergebnis;
float note;
float r;
float z;
float x;
r=punktezahleins;
x=(y/r);
note=(x+1);


printf("Die note ist %d\n",note);
    return EXIT_SUCCESS;
}
}


es rechnet trotzdem nich die Note aus, sondern es erscheint gar nichts.

Ist es ein Fehler im letzten printf?

Die Berechnung sollte so erfolgen:

(erreichte Punkte{durch}Punktzahl für die Eins) +1= Note.

mfG Leo


Zuletzt bearbeitet von genoni am 23:47:54 03.02.2012, insgesamt 1-mal bearbeitet
Thuruk
Mitglied

Benutzerprofil
Anmeldungsdatum: 26.01.2012
Beiträge: 130
Beitrag Thuruk Mitglied 00:08:23 04.02.2012   Titel:              Zitieren

Zeile 27 ist mal Unsinn. Wenn du eine While-Schleife machen willst, hat die so auszusehen:

C/C++ Code:
while(true){
//do something
}
C/C++ Code:
while(true){
//do something
}
C/C++ Code:
while(true){
//do something
}


Bei dir stehen einige komische Klammern und ein Semikolon gleich nach 'while'.
genoni
Mitglied

Benutzerprofil
Anmeldungsdatum: 02.02.2012
Beiträge: 12
Beitrag genoni Mitglied 00:21:38 04.02.2012   Titel:              Zitieren

Danke, hab das jetzt mal so gemacht:

C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <cstdlib>
#include
<iostream>

using namespace std;

int main(int argc, char *argv[])
{
float Gesamtpunktzahl;
printf("Bitte geben sie die Gesamtpunktzahl ein: \n");
scanf("%d",&Gesamtpunktzahl);

float r;
printf("Bitte geben sie ein, welche Punktzahl für eine Sechs nötig ist: \n");
scanf("%d",&r);

float punktezahleins;
printf("Bitte geben sie ein, welche Punktzahl für eine Eins nötig ist: \n");
scanf("%d",&punktezahleins);

float y;
float erreichtepunktzahl;
printf("Bitte geben sie ein, welche Punktzahl der Schueler erreicht hat : \n");
scanf("%d",&erreichtepunktzahl);
y=(erreichtepunktzahl*5);

int note;
while(true)

{
float note;
float r;
float z;
float x;
r=punktezahleins;
x=(y/r);
note=(x+1);
}
printf("Die note ist %d\n",note);
return EXIT_SUCCESS;
}
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <cstdlib>
#include
<iostream>

using namespace std;

int main(int argc, char *argv[])
{
float Gesamtpunktzahl;
printf("Bitte geben sie die Gesamtpunktzahl ein: \n");
scanf("%d",&Gesamtpunktzahl);

float r;
printf("Bitte geben sie ein, welche Punktzahl für eine Sechs nötig ist: \n");
scanf("%d",&r);

float punktezahleins;
printf("Bitte geben sie ein, welche Punktzahl für eine Eins nötig ist: \n");
scanf("%d",&punktezahleins);

float y;
float erreichtepunktzahl;
printf("Bitte geben sie ein, welche Punktzahl der Schueler erreicht hat : \n");
scanf("%d",&erreichtepunktzahl);
y=(erreichtepunktzahl*5);

int note;
while(true)

{
float note;
float r;
float z;
float x;
r=punktezahleins;
x=(y/r);
note=(x+1);
}
printf("Die note ist %d\n",note);
return EXIT_SUCCESS;
}
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <cstdlib>
#include
<iostream>

using namespace std;

int main(int argc, char *argv[])
{
float Gesamtpunktzahl;
printf("Bitte geben sie die Gesamtpunktzahl ein: \n");
scanf("%d",&Gesamtpunktzahl);

float r;
printf("Bitte geben sie ein, welche Punktzahl für eine Sechs nötig ist: \n");
scanf("%d",&r);

float punktezahleins;
printf("Bitte geben sie ein, welche Punktzahl für eine Eins nötig ist: \n");
scanf("%d",&punktezahleins);

float y;
float erreichtepunktzahl;
printf("Bitte geben sie ein, welche Punktzahl der Schueler erreicht hat : \n");
scanf("%d",&erreichtepunktzahl);
y=(erreichtepunktzahl*5);

int note;
while(true)

{
float note;
float r;
float z;
float x;
r=punktezahleins;
x=(y/r);
note=(x+1);
}
printf("Die note ist %d\n",note);
return EXIT_SUCCESS;
}


Es lässt sich zwar kompilieren, aber es rechnet die Note noch nicht aus.
mfG Leo
Thuruk
Mitglied

Benutzerprofil
Anmeldungsdatum: 26.01.2012
Beiträge: 130
Beitrag Thuruk Mitglied 00:31:33 04.02.2012   Titel:              Zitieren

Mir ist auch noch nicht klar was du da mit der Schleife machen willst.

C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>

using namespace std;

int main()
{
    double peins, perreicht;
    cout << "Bitte geben Sie die Werte der Variablen 'Punktezahl fuer die Eins' und 'Erreichte Punkte' ein: ";
    cin >> peins >> perreicht;

    cout << "Die erreichte Note ist " << perreicht/peins+1 << ".\n";

    return EXIT_SUCCESS;
}
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>

using namespace std;

int main()
{
double peins, perreicht;
cout << "Bitte geben Sie die Werte der Variablen 'Punktezahl fuer die Eins' und 'Erreichte Punkte' ein: ";
cin >> peins >> perreicht;

cout << "Die erreichte Note ist " << perreicht/peins+1 << ".\n";

return EXIT_SUCCESS;
}
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>

using namespace std;

int main()
{
    double peins, perreicht;
    cout << "Bitte geben Sie die Werte der Variablen 'Punktezahl fuer die Eins' und 'Erreichte Punkte' ein: ";
    cin >> peins >> perreicht;

    cout << "Die erreichte Note ist " << perreicht/peins+1 << ".\n";

    return EXIT_SUCCESS;
}


Das wäre eine einfache Lösung, die nach deiner Formel die Note berechnet.


Zuletzt bearbeitet von Thuruk am 00:34:07 04.02.2012, insgesamt 1-mal bearbeitet
f.-th.
Unregistrierter




Beitrag f.-th. Unregistrierter 09:10:27 04.02.2012   Titel:              Zitieren

C/C++ Code:
float note;
float r;
float z;
float x;
C/C++ Code:
float note;
float r;
float z;
float x;
C/C++ Code:
float note;
float r;
float z;
float x;


Wie oft, genoni, kommt jede dieser Zeile in deinem Quelltext vor?
Und was passiert dann?
Okay, das kann gar funktionieren aber nur, wenn der Programmierer nicht den Überblick verliert. Also, wenn bei einem Anfänger eine dieser Zeilen, oder vergleichbare vorkommen, immer überlegen, ist das irgend wo vom Auftraggeber so vorgegeben? Wenn nicht, eine übersichtlichere Lösung vorziehen.

Zur Krönung der Unübersichtlichkeit:
C/C++ Code:
int note;
...
float note;
C/C++ Code:
int note;
...
float note;
C/C++ Code:
int note;
...
float note;
:eek:
weist du was du da willst oder machst?

MfG f.-th.
f.-th.
Unregistrierter




Beitrag f.-th. Unregistrierter 09:14:28 04.02.2012   Titel:              Zitieren

Was vergessen :mad:

Also, wenn bei einem Anfänger eine dieser Zeilen oder vergleichbare mehr als einmal in einem Quelltext vorkommen immer überlegen, ist das irgend wo vom Auftraggeber so vorgegeben?

So sollte das besser sein.
genoni
Mitglied

Benutzerprofil
Anmeldungsdatum: 02.02.2012
Beiträge: 12
Beitrag genoni Mitglied 17:40:46 11.02.2012   Titel:              Zitieren

Sorry, ich war jetzt eine Woche ohne Internet abwesend.

Vielen Dank für die Antworten.

@Thuruk,

Deine Version funktioniert bestens, herzlichen Dank.

@f-th

lach*, mir ist klar dass meine Programme extrem unübersichtlich sind.
Ich habe einfach mal mit denen mir Bekannten Befehlen losgelegt und es wurden dann immer mehr Änderungen.

Wenn ich das nun ähnlich meiner Vorgabe machen möchte, muss ich dann nur diese floats anders gestalten? Oder geht das so gar nicht?

mfG Leo
f.-th.
Unregistrierter




Beitrag f.-th. Unregistrierter 18:45:38 11.02.2012   Titel:              Zitieren

Hab ich doch geschrieben, solange du den Überblick über deinen Quelltext hast bekommst du das hin :live:
Wenn du den Überblick verlierst, ... :o)

Also würde ich den Quelltext übersichtlich formatieren.
Dann solltest du dir selber im Quelltext keine Fallen aufbauen in der Form das du dich selbst austrickst.
C/C++ Code:
  float r;
  printf("Bitte geben sie ein, welche Punktzahl für eine Sechs nötig ist: \n");
  scanf("%d",&r);
C/C++ Code:
float r;
printf("Bitte geben sie ein, welche Punktzahl für eine Sechs nötig ist: \n");
scanf("%d",&r);
C/C++ Code:
  float r;
  printf("Bitte geben sie ein, welche Punktzahl für eine Sechs nötig ist: \n");
  scanf("%d",&r);

Was willst du damit erreichen? Okay, es kann sein das es nur eine mögliche Punktzahl für eine 6 gibt? Dann gibt es innerhalb von Europa Staaten wo 6 die schlechteste Zensur ist und andere wo eine 6 die beste ist. Also soll das Programm in Deutschland, in Österreich, in der Schweiz oder sonst wo spielen?

So ein wenig Hintergrund brauche ich schon, wenn das ein halbwegs gutes Programm werden soll. Ich nehme an du solltest dich auch mal eingehender damit beschäftigen. Zum einen mit dem Hintergrund und zum anderen mit den Grundlagen von C und/oder C++.
C/C++ Code:
  int note; //  siehe 4 Zeilen später
  while(true)

  {
    float note; // note hast du doch gerade als int definiert und bislang nicht gebraucht???
C/C++ Code:
int note; // siehe 4 Zeilen später
while(true)

{
float note; // note hast du doch gerade als int definiert und bislang nicht gebraucht???
C/C++ Code:
  int note; //  siehe 4 Zeilen später
  while(true)

  {
    float note; // note hast du doch gerade als int definiert und bislang nicht gebraucht???


MfG f.-th.
genoni
Mitglied

Benutzerprofil
Anmeldungsdatum: 02.02.2012
Beiträge: 12
Beitrag genoni Mitglied 19:24:51 11.02.2012   Titel:              Zitieren

Herzlichen Dank.

Das Programm soll in der Schweiz spielen, wo 6 die höchste und 1 die tiefste Note ist. Das mit dem Note hab ich gar nicht gesehen :( . Wie gesagt, ich hab erst vor 2 Wochen mit C angefangen und kenne darum nur wenige Befehle. Als dann eine Bekannte gesagt hat ihr fehle ein Programm das Noten berechnet, habe ich gesagt ich könne versuchen eines zu basteln. :)

mfG Leo
f.-th.
Unregistrierter




Beitrag f.-th. Unregistrierter 21:59:02 11.02.2012   Titel:              Zitieren

Du kennst immer noch nicht den Unterschied zwischen C und C++.

Hier mal ein schnell zusammen genagelter C-Quelltext:
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// punkt2note - swiss
// hier Punkte fest vorgegeben -> add Punkte für Note aus externe Datei lesen.
// 2012feb11


#include
<stdio.h>

int main()
{
    int punkte;
    int pkt2 = 25;
    int pkt3 = 42;
    int pkt4;    // ergänzen
    int pkt5;
    int pkt6 = 90;
   
    printf("Bitte geben Sie hier die erreichten Punkte ein: ");
    scanf("%d", &punkte);
   
    if( punkte < pkt2 )
        printf("%d-> eins \n", punkte);
    else if( punkte < pkt3 )
        printf("%d-> zwei\n", punkte);
    else
        printf("%d-> sechs\n", punkte);
}
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// punkt2note - swiss
// hier Punkte fest vorgegeben -> add Punkte für Note aus externe Datei lesen.
// 2012feb11


#include
<stdio.h>

int main()
{
int punkte;
int pkt2 = 25;
int pkt3 = 42;
int pkt4; // ergänzen
int pkt5;
int pkt6 = 90;

printf("Bitte geben Sie hier die erreichten Punkte ein: ");
scanf("%d", &punkte);

if( punkte < pkt2 )
printf("%d-> eins \n", punkte);
else if( punkte < pkt3 )
printf("%d-> zwei\n", punkte);
else
printf("%d-> sechs\n", punkte);
}
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// punkt2note - swiss
// hier Punkte fest vorgegeben -> add Punkte für Note aus externe Datei lesen.
// 2012feb11


#include
<stdio.h>

int main()
{
    int punkte;
    int pkt2 = 25;
    int pkt3 = 42;
    int pkt4;    // ergänzen
    int pkt5;
    int pkt6 = 90;
   
    printf("Bitte geben Sie hier die erreichten Punkte ein: ");
    scanf("%d", &punkte);
   
    if( punkte < pkt2 )
        printf("%d-> eins \n", punkte);
    else if( punkte < pkt3 )
        printf("%d-> zwei\n", punkte);
    else
        printf("%d-> sechs\n", punkte);
}

kannst das ja noch ergänzen.
C/C++ Forum :: DOS und Win32-Konsole ::  C++ Anfänger- Programm funktoniert nicht!  
Gehen Sie zu Seite Zurück  1, 2, 3, 4  Weiter
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.