C Programmierung: 2 Eingaben durch Komma trennen?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ich glaube nicht, dass du bei der Eingabe die Zahlen durch ein Komma trennen sollst. Das Enter bei der Eingabe ist der Zeilenumbruch, und so einfach lässt sich dieser auch nicht verhindern.

Hättest du mit großen Zahlen experimentiert, hättest du gemerkt, dass ein Overflow passiert, die Zahl beginnt also wieder von unten.

Zum nachlesen: https://en.wikipedia.org/wiki/Integer_overflow

Ich kenn mich nicht genug mit C aus um dir mit deinem Code zu helfen, aber ich weis dass der nächst größere Datentypen über Int, Long ist, vllt hilft dir das weiter 

Mit freundlichen Grüßen Stadch 

Zahlenraten mit C programmieren

Hallo lieber Leser,

Ich habe ein Problem mit einer Aufgabe, die die C-Programmierung betrifft.

Es geht um ein C-Programm, das zufällig zwei ganze Zahlen a und b zwischen 1 und 1000 bestimmt, so dass a <= b gilt. Der Benutzer soll so lange aufgefordert werden, eine Zahl zu raten, bis er die Zahl gefunden hat, die genau in der Mitte von a und b liegt. Nach jedem Rateversuch erhält der Benutzer einen Hinweis: Ist die Zahl kleiner als a oder größer als b: „Viel zu klein!“ bzw. „Viel zu groß!“ Ist die Zahl im richtigen Bereich, aber näher einer Grenze als an der Mitte: „Zu klein!“ bzw. „Zu groß!“ Anderenfalls: „Ein bisschen zu klein!“ bzw. „Ein bisschen zu groß!“

Wenn der Benutzer richtig geraten hat, erhält er die Mitteilung „Richtig!“ und die Grenzen werden zur Kontrolle ausgegeben. Ich komme nicht richtig zurecht und stehe auf dem Schlauch.

Mein Code sieht bisher so aus, aber ich komme nicht so recht weiter: Auch wollte ich Zahlenräume schaffen, die unterscheiden zwischen "viel zu groß" und "ein bisschen zu groß" - die ich aber nicht umsetzten kann.

#include <stdio.h>
#include <time.h>
#include <stdlib.h>


//Funktion für die zufällige Nummer
//int randomNumber() {
//int r = rand() % 1001 + 1;


int main() {

    srand(time(NULL));

    //int a = randomNumber();
    //int b = randomNumber();

    int a, b;
    do{
        a = rand() % 1000 + 1;
        b = rand() % 1000 + 1;
    } while (a < b);
    int mitte = (a + b) / 2;
    int gerateneZahl;

    //Diese drei Zeilen habe ich nur genutzt, um zu überprüfen, ob die Zahlen stimmen
    printf("%i\n", a);
    printf("%i\n", b);
    printf("%i\n", mitte);

    printf("\nBitte geben Sie eine Zahl ein: ");
        scanf_s("%i", &gerateneZahl);


    while (a >= b) {

        printf("\nBitte geben Sie eine Zahl ein: ");
        scanf_s("%i", &gerateneZahl);

        if (gerateneZahl > mitte) {
            printf("ein bisschen zu groß\n");
        }
        if (gerateneZahl > (mitte)) {
            printf("viel zu gross\n");
        }
        else if (gerateneZahl < mitte) {
            printf("ein bisschen zu klein\n");
        }
        else if (gerateneZahl < (mitte)) {
            printf("viel zu klein\n");
        }
        if (gerateneZahl == mitte) {
            printf("Richtig! Die Grenzen waren %d und %d\n", a, b);
        }
    }

    return 0;

}

das > soll eigentlich ein < bzw > sein. Keine Ahnung wieso das so angezeigt wird.

Kann mir da jemand helfen bitte? Ich habe ein paar Probleme und bräuchte echt Hilfe. Ich wäre nicht hier wenn es nicht ernst wäre.

Danke!

...zur Frage

Visual Studio C++ eingabe und ausgabe eines Buchstaben

include

include

int main (void) { char B; int i;

printf("Geben Sie einen Buchstaben ein:"); scanf_s("%s",&B); printf("Der eingegebene Buchstabe war: %s\n",B); system("Pause"); return 0; }

Bei diesem Programm kann ich zwar einen Buchstaben eingeben,aber es wird mir keiner ausgegeben. Da steht dann der Buchstabe wäre (null). Was mach ich falsch, bei meinen Kommilitonen klappts mit genau dem selben Programm...

...zur Frage

C: Kann mir jemand einen Arrayabschnitt für die zweite Ausgabe meiner Aufgabe zeigen?

int main() {
  int wuerfel[6];
  int i; // Systemuhr verwenden, um seed einen Wert zuzuweisen:
  unsigned x = time(NULL);

  printf("x = %u\n", x); // Initialisierung des Pseudo-Zufallszahlengenerators:
  
  srand(x);

  printf("\n6 ganze Zufallszahlen zwischen 0 und %d erzeugen:\n", RAND_MAX);

  for (i = 0; i < 7; i++)
    printf("%d ", rand());
    // RAND_MAX: maximale ganze Zufallszahl, die mit rand() erzeugt werden kann

  printf("\n\n6-mal wuerfeln:\n");

  for (i = 0; i < 7; i++)
     printf("%d ", 1 + rand() % 6);

  printf("\n");
}

Ich habe hier zwei verschiedene Ausgaben und möchte das in zwei verschiedene Arrays packen. Eins habe ich schon geschafft mit dem int wurfel[6], für die zweite Ausgabe.

Kann mir bitte jemand einen Arrayabschnitt für die zweite Ausgabe zeigen?

...zur Frage

C++ programmieren (Dreieck berechnen)?

Ich habe ein Problem beim programmieren.

Folgendes Programm muss ich programmieren für die Schule:

Durch Eingabe der zwei Seite a & b und des Winkels y wird die 3. Seite c und die 2 restlichen Winkel berechnet.

Programmiersprache: C++

Folgende Formeln sind vorgegeben c2 = a2 + b2 -2ab * cos(y) sin(alpha) : sin(beta) = a : b

Bei einem 90° Winkel, wird die Meldung Pythagoras angezeigt.

Mit dem einfügen der Formeln habe ich ziemlich Mühe. Vielen Dank für die Tipps!

Folgendes habe ich bereits:

include <math.h>

int main(void){ int a, b, c, alpha, beta, gamma, wid;

do {

printf("Bitte geben Sie die Seite a ein: ");
scanf("%d", &a);

}
while(a<=0);

do
{
printf("Bitte geben Sie nun die Seite b ein: ");
scanf("%d", &b);
}
while(b<=0);

do
{
printf("Geben Sie bitte den Winkel y in Grad ein: ");
scanf("%d", &gamma);
}

while((gamma>180) || (gamma<=0));

if(gamma==90)

printf("Rechtwinkliges Dreieck: Berechnung mit dem Satz von Pythagoras. \n");

else
    
    c= c*c==a*a+b*b-2*a*b*cos(gamma);
    sqrt(c);

    printf("Seite c ist %d lang \n",c );
    //sin(alpha) / sin(beta) == a/b;

    printf("Der Winkel Alpha ist %d° gross. \n", alpha);
    printf("Der Winkel Beta ist %d° gross. \n", beta);



return 0; }
...zur Frage

"Dieser Ordner ist leer" wenn ich mein Handy am PC anschließe, was tun?

Hi,
Mein Handy (LG Nexus 5) hat die neueste Android Version (6.0 Marshmallow). Vor einigen Tagen (NACH dem Update) ging das Bilder übertragen zwischen PC und Handy noch aber seit heute spinnt's irgendwie. Wenn ich das Handy per USB Kabel anschließe (Es liegt weder am Kabel noch am Port) wird der Ordner angezeigt, jedoch steht da "Dieser Ordner ist leer". Auch versteckte Dinge werden angezeigt und mit dem USB Debugging hab ich's auch schon probiert. Nichts geht. Kann mir wer helfen? x.x Habe Windows 10. Danke!

...zur Frage

Hochzahlen in C-Programmierung

Wie lässt sich die dritte Potenz einer Zahl in der Programmiersprache C ausgeben? (jedoch ohne Verwendung der mathematischen Bibliothek)

Mein Source-Code(fehlerhaft):

**#include<stdio.h>

main() { double x

printf("Geben Sie bitte eine Zahl ein:"); scanf("%lf", &x);

y = x³;

printf("Dreierpotenz davon = %lf", y); } **

...zur Frage

Was möchtest Du wissen?