• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

C Programm in Unix

das hatte ich mir, bevor ich hier gefragt hatte auch so gedacht. aber, bei diesem code kommt follgender fehler:

Code:
Zahlen.c: In function 'main':
Zahlen.c:16: error: 'GRatezahl' undeclared (first use in this function)
Zahlen.c:16: error: (Each undeclared identifier is reported only once
Zahlen.c:16: error: for each function it appears in.)
*edit*
... ich depp... habs selbst gefunden.

*edit2*
habs zwar selbst gefunden, aber die lösung hats nicht gebracht :P

*edit3*
so nun habe ich auch das geschafft :P

Code:
#include <stdio.h>
#include <stdlib.h>
#include "zuf.c"

int main()      {

        int GRatezahl, Ratezahl, versuche=1, count=0, erraten=0;        /*Variablen*/

        /*Ausgabe*/
        printf("Bitte geben Sie die groestmoegliche Ratezahl ein: ");
        scanf("%i", &GRatezahl);

        int Zufall = zuf(GRatezahl);                    /*Zufallszahl*/


                /*do while Schleife beginnt*/
                do      {
                printf("Das ist Ihr %i er Versuch\n", versuche);
                printf("Geben Sie nun bitte Ihren Tipp ab: ");
                scanf("%i", &Ratezahl);
                versuche++;

                /*Wenn, Zahl richtig geraten*/
                if(Ratezahl==Zufall)    {
                erraten=1;
                count++;
                }

                /*Wenn, Zahl falsch geraten*/
                else    {
                (Ratezahl>Zufall) ? printf("Die Zahl ist zu gross\n") : printf("Die Zahl ist zu klein\n");
                count++;
                }
        }
        while((erraten != 1) && (count != 0));

        if (erraten == 1)
        {
        printf("Mit %i Versuchen erraten!\n", count);
        }
}
kann man den code so lassen? ist das sauber programmiert? klappen "tuts" schonmal, das eigentlich die hauptsache. vielen dank schonmal dafür!!!
 
Zuletzt bearbeitet:
könnte besser eingerückt werden. und es schadet nicht die einzelnen schritte auszukommentieren.
 
und ja jede woche wieder, euer MoNchHiChii :D

heute eine neue aufgabe, 2 habe ich schon selbst gelöst, die wohl etwas schwereren nun die einfache... und natürlich da hackt es :P

Aufgabe:
Fibonacci.c
Schreiben Sie ein C-Prgramm, in dem die ersten 46 Zahlen, ohne f0=0, in einer Tabelle mit 2 Spalten ausgegebenwerden. Finden Sie eine Lösung, in der die Werte mittels eines long int-Arrays berechnet werden

Zahl-------Fibonacci-Zahl-----Zahl-----Fibonacci-Zahl
1-----------1--------------------24--------46368

so mein code
Code:
#include <stdio.h>

int main () {

     int i;
     long num1, num2, ans;

     num1 = 1;
     num2 = 1;

     printf("1\t%.0li\n2\t%.0li\n", num1, num2);

     for(i = 0; i < 44; ++i){

          ans = (num1 + num2);

          printf("%d\t%.0li\n", i+3, ans);

          num1 = num2;
          num2 = ans;
     }
}

so der ist "natürlich" auch aus dem inet recherchirt muss ich gestehen. man findet ja sehr viel. mein problem ist jetzt, long int array und 2spalten.

wieder auch hier, es geht nicht darum das ihr mir was vor schreibt, sondern das ich einen tipp hinweis kriege wie ich es lösen sollte/könnte. bei den anderen beiden aufgaben, habe ich es selbst gefunden und lief echt erstaunlich gut. einmal lotto zahlen regenerieren und einmal würffelwarscheinlichkeiten... nur das hier wurmt :/
 
Zuletzt bearbeitet:
Unterscheidet sich ein C-Programm, das über vi geschrieben wurde, eigentlich von einem mit einem anderen Editor geschriebenen?
Ich frag mich nur, weil das hier im UNIX-/Terminal-Unterforum steht, wo ich andere Dinge erwarte als Programmiertipps.
 
Unterscheidet sich ein C-Programm, das über vi geschrieben wurde, eigentlich von einem mit einem anderen Editor geschriebenen?
Ich frag mich nur, weil das hier im UNIX-/Terminal-Unterforum steht, wo ich andere Dinge erwarte als Programmiertipps.

da hab ich ka :/

ich dachte nur, weil bis dato sich keiner beschwerte, das es hier nicht falsch sei und da es bislang so gut lief, wollte ich das mal hier weiter führen :D hehe

dank euch, bestehe ich die praktikas und lerne programmieren.

so neue alternative
*edit*
fehlt eigentlich nur noch die spalten möglichkeit. find ich auch noch :P

Code:
#include <stdio.h>

int main()      {

        long int fib[47];
        int i;

                fib[0] = 0;
                fib[1] = 1;

                printf("Zahl\t Fibonacci-Zahl\tZahl\tFibonacci-Zahl\n");
                printf("---------------------------------------------\n");

                        for(i = 2; i < 47; i++)
                        fib[i] = fib[i-1] + fib[i-2];

                for (i = 1; i < 47; i++)
                printf("%2d\t%10li\n", i, fib[i]);
}
 
Zuletzt bearbeitet:
Unterscheidet sich ein C-Programm, das über vi geschrieben wurde, eigentlich von einem mit einem anderen Editor geschriebenen?
Ich frag mich nur, weil das hier im UNIX-/Terminal-Unterforum steht, wo ich andere Dinge erwarte als Programmiertipps.
Das ist völlig egal. Man könnte auch sagen, das kann man halten wie ein Dachdecker *G*
Der Sourcecode wird nachher ja durch den Compiler übersetzt und der ist da nicht wählerisch mit was das geschrieben wurde und wie das aussieht :) Es gibt sogar nette Wettbewerbe wer den besten ein/drei Zeiler schreibt oder den unleserlichsten Perl-/C++ Code *G*
 
leg mich jetzt pennen :P

das erste mal das ich keine lösung finde, aber naja, morgen ist auch noch ein tag ;)
 
informier dich mal über mehrdimensionale arrays...
 
huhu,

habs nun geschafft, mein problem war, das ich dauernd versucht hab spalten zu suchen... aber die gibt es ja wohl nicht.

nun sieht es so aus und klappt super

Code:
#include <stdio.h>

int main()      {

        long int fib[47];
        int i;

                fib[0] = 0;
                fib[1] = 1;

                        for(i = 2; i < 47; i++) {
                        fib[i] = fib[i-1] + fib[i-2];
                        }

                printf("Zahl \t Fibonacci-Zahl  \tZahl \tFibonacci-Zahl\n");
                printf("-----------------------------------------------------\n");

                for(i = 1; i < 24 ; i++) {
                printf("%2d \t%11li  \t\t%2d \t%11li\n", i, fib[i], i+23, fib[i+23]);
                }
}

und auch wieder danke, für den ein oder anderen tipp.