Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (GNU/Linux, *NIX, *BSD und Co) » Dringend, schnelle Hilfe benötigt

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ] [ 3 ] [ 4 ]
000
15.11.2009, 22:03 Uhr
Pamina



hey brauche ganz dringend eure Hilfe
ich hab in der Uni ne Hausaufgabe bekommen, die ich bis heute 0 Uhr abgegeben haben muss, wir müssen die zu zweit abgeben und hatten die verschiedenen Aufgaben aufgeteilt, nun sagt mir meine komilitonin sie hat es nicht hinbekommen, toll 2 stunden vor abgabe.

naja ich hab mich gerade rangesetzt aber ich kriegs absolut nicht hin kann mir bitte ganz dringend jemand helfen?

die aufgabe lautet:






C++:
5. Aufgabe
Beim Gesellschaftsspiel "Die Böse Sieben" sitzen die Teilnehmer im Kreis und zählen reihum.
Jede Zahl, die durch 7 teilbar ist oder die 7 als Zier enthält, muss übersprungen werden.
Schreiben Sie ein Programm, welches eine Zahl einliest und überprüft, ob diese Zahl übersprungen werden soll.    





Bitte helft mir
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
15.11.2009, 23:11 Uhr
Bruder Leif
dances with systems
(Operator)


Moin!

Wo genau liegt denn das Problem? Wie habt Ihr das aufgeteilt, und wo hapert's noch? Wie sieht der bestehende halbfertige Code aus?
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
15.11.2009, 23:29 Uhr
Pamina




C++:
/* Übungsblatt 1 Aufgabe 5;
Programm zu Spiel "Die Böse Sieben" */



#include <iostream>
using namespace std;

int main() {
    cout <<"Bitte geben Sie eine Zahl ein."<< endl;
    int x;
        // Eingabe der zu überprüfenden Zahl
        cin >> x;

    //Festlegung, dass die Zahl übersprungen werden muss, wenn sie durch 7 teilbar ist
        if (x%7==0){
        cout <<"Die Zahl" <<x<< " muss uebersprungen werden." << endl;
        return 0;
    
        }
        else {
            cout <<"Die Zahl muss nicht uebersprungen werden"<< endl;
        
        }
        
    //Ende des Programms wenn die Zahl durch 7 teilbar ist



    //Festlegung, dass die Zahl übersprungen werden muss, wenn die 7 enthalten ist
        
if (x
{
           cout <<"Die Zahl" <<x<< "muss uebersprungen werden" << endl;
return 0;
}
else {
    cout <<"Die Zahl muss nicht uebersprungen werden"<< endl;
        return 0;}

}





das hab ich bis jetzt geschrieben mir fehlt jetzt nur noch das mit"zahl 7 enthalten"

aufgeteilt, tja ich hab aufgabe 1,3,4 gemacht und sie sollte 2 und 5
daher hab ich mich halt auch nicht früher mit der hier beschäftigt und nu hab ich noch 30 min so ein mist


Bearbeitung:
Kronos: Auf Wunsch des Verfassers die Namen der Studenten aus dem ÜB entfernt

Dieser Post wurde am 16.11.2009 um 11:24 Uhr von kronos editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
15.11.2009, 23:36 Uhr
Bruder Leif
dances with systems
(Operator)


Erstmal Vorsicht mit den else-Zweigen. Was, wenn die Zahl zwar nicht durch 7 teilbar ist, aber die 7 als Ziffer enthaelt?

Das mit dem Modulo funktioniert ja schon mal. Hattet Ihr schon Schleifen? Mit Modulo 10 bekommt man die letzte Ziffer einer Zahl, durch Division durch 10 (bei int) die uebrigen Ziffern. Damit kann man bequem die einzelnen Ziffern durchgehen, und wenn die 7 dabei ist... bingo.
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
15.11.2009, 23:41 Uhr
Pamina



ja wir hatten do while, while und for schleifen aber ich krieg es damit nicht hin hab jetzt nochmal was versucht aber das funzt nicht ganz, aber ich finde den fehler nicht....



C++:
/* Übungsblatt 1 Aufgabe 5;
Programm Die böse Sieben */


#include <iostream>
using namespace std;

int siebenenthalten(int x){ // Funktion zur Überprüfung ob die sieben als zahl enthalten ist.

int y,z;

z=1;

do{

y=(x-7)%10; // Von der Zahl wird sieben abgezogen und die neur Zahl überprüft ob sie durch 10 teilbar ist.

x=((double)x)/10; // Ist dies der Fall ist y=0 und z=0 und die schleife wird beendet.

  // Sollte die um 7 dezimierte Zahl nicht ohne Restdurch 10 teilbar sein wird die Zahl durch 10 geteilt und die

z=z*y; // Nachkommastellen vernachlässigt und um eine zehnerpotenz verschoben für den neuen Schleifendurchlauf

}while(x!=0) ; // definiert. Ist man bei der letzten Stelle angelangt, ist x=0 und y entweder 1 oder 0.

  // Für y=0 ist z=0 und die letzte Stelle war eine sieben. Für y=1 war die lezte stelle ungleich 7

if (z==0) // und die zahl muss nicht übersprungen werden!

y=0;

else y=1;

return y;

}






wo ist der fehler???
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
15.11.2009, 23:56 Uhr
Bruder Leif
dances with systems
(Operator)


Ich poste zwar bei Hausaufgaben normalerweise keine fertigen Loesungen, aber nachdem hier echter Wille erkennbar ist und, wenn die Zeit nicht so knapp waere, wir zusammen schon drauf kommen koennten...


Code:
int enthaeltSieben(int number)
{
        while (number != 0) {
                if (number % 10 == 7) return 1; /* 7 gefunden! */
                number /= 10; /* Restliche Ziffern pruefen */
        }
        return 0;
}



Denk aber an den else-Zweig im Hauptprogramm (s. letzter Post von mir)...
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.

Dieser Post wurde am 15.11.2009 um 23:57 Uhr von Bruder Leif editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
16.11.2009, 00:02 Uhr
Pamina



shit zeit vorbei

habs nicht mehr schnell genug zusammengefügt und geändert bekommen...

trotzdem ganz vielen dank
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
16.11.2009, 00:03 Uhr
Pamina



ah doch noch nicht die uhr da geht 5 min anders

wie soll ich denn den else zweig ändern damit das geht?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
16.11.2009, 00:12 Uhr
Bruder Leif
dances with systems
(Operator)


Ist nicht schlimm, er gibt nur "Die Zahl muss nicht uebersprungen werden" aus, bevor er prueft, ob die Zahl vielleicht die Ziffer 7 enthaelt. Einfach den entsprechenden else-Zweig weglassen...
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
16.11.2009, 00:18 Uhr
Pamina



mhm abgabezeit ist vorbei aber jetzt wurmt mich das,

selbst wenn cih den else zweig weglasse, ich bekomme keinen fehler mehr aber bei der asugabe wir nichts angezeigt woran liegt das???

sieht jetzt so aus:


C++:
/* Übungsblatt 1 Aufgabe 5;
Programm zu Spiel "Die Böse Sieben" */



#include <iostream>
using namespace std;

int main() {
    cout <<"Bitte geben Sie eine Zahl ein."<< endl;
    int x;
        // Eingabe der zu überprüfenden Zahl
        cin >> x;

    //Festlegung, dass die Zahl übersprungen werden muss, wenn sie durch 7 teilbar ist
        if (x%7==0){
        cout <<"Die Zahl" <<x<< " muss uebersprungen werden." << endl;
        return 0;
    
        }
        else {
            cout <<"Die Zahl muss nicht uebersprungen werden"<< endl;
        
        }
        
    //Ende des Programms wenn die Zahl durch 7 teilbar ist



    //Festlegung, dass die Zahl übersprungen werden muss, wenn die 7 enthalten ist
        


}

int enthaeltSieben(int number)
{
        while (number != 0) {
                if (number % 10 == 7) return 1; /* 7 gefunden! */
                number /= 10; /* Restliche Ziffern pruefen */
        }
        return 0;
}
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ] [ 3 ] [ 4 ]     [ C / C++ (GNU/Linux, *NIX, *BSD und Co) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: