Tabelle in C erstellen
-
Hallo,
ich hab eine Aufgabe,bei der ich eine Tabelle in C erstellen soll und die Daten der Tabelle mit der Funktion mul berechnen soll.
http://img263.imageshack.us/img263/3550/bung3.jpg
Ich weiß ungefähr, wie ich mit der for-schleife eine tabelle erstellen kann,allerdings soll die genauso aussehen wie auf dem bild,also mit den strichen usw. In C++ konnte man die einfach als Text einfügen,das will bei C aber irgendwie nicht so richtig funktionieren. Außerdem hab ich keine Ahnung,was die Funktion mul ist,da uns weder Tutoren noch Prof richtig zeigen,wie wir mit C programmieren und ich mir das im Moment alles selbst beibringe. Ich vermute allerdings,dass es wohl für Multiplikation steht. Nur weiß ich dann immernoch nicht,wie ich das alles machen soll.
Wäre sehr dankbar,wenn mir hier jemand helfen könnte.
-
Lizitas schrieb:
Ich weiß ungefähr, wie ich mit der for-schleife eine tabelle erstellen kann,
Gut, das ist doch schon einmal das wichtigste.
allerdings soll die genauso aussehen wie auf dem bild,also mit den strichen usw. In C++ konnte man die einfach als Text einfügen,das will bei C aber irgendwie nicht so richtig funktionieren.
Kannst du das genauer beschreiben? Ich habe keine Ahnung was du meinst. Vermeide dabei Ausdrücke wie "irgendwie" oder "nicht funktionieren", weil diese gar nichts aussagen.
Außerdem hab ich keine Ahnung,was die Funktion mul ist,da uns weder Tutoren noch Prof richtig zeigen,wie wir mit C programmieren und ich mir das im Moment alles selbst beibringe. Ich vermute allerdings,dass es wohl für Multiplikation steht. Nur weiß ich dann immernoch nicht,wie ich das alles machen soll.
Steht doch in Punkt 3 beschrieben, was das sein soll.
-
In c++ haben wir das einfach immer so gemacht:
cout<<"-------------------------------------"<<endl;
Damit haben wir die Tabelle gezeichnet. In C ist es dann eben printf aber wie gesagt,das sieht dann hinterher nicht so wirklich tabellenmäßig aus.
-
cout<<"-------------------------------------"<<endl;
sollte aber (bis auf ein paar Interna die hier unwichtig sind) genau das gleiche machen wie:
printf("-------------------------------------\n");
Was bekommst du denn stattdessen?
-
Ich gebe dir mal einen Top-Down Entwurf an:
#include <stdio.h> int mult(int i,int k) { Was macht man hier wohl mit i und k? ... return ...; } void tabelle() { hier mittels printf die Tabelle mit Pseudolinien und die mittels mult(x,y) berechneten Werte ausgeben } int main() { tabelle(); return 0; }
-
Ok danke,das hilft schonmal etwas :).
-
Also für die Tabelle hab ich jetzt das hier:
int main(){
int zeilen;
int spalten;printf(" |\n");
for(zeilen=0; zeilen<12; ++zeilen){
if( zeilen > 1 )
{
printf(" %2d |",(zeilen-1));
}
else
{
printf(" |",zeilen);
}
for( spalten=0; spalten<10; ++spalten)
{
if( zeilen == 0 )
{
printf("%3d", (spalten+1));
}
else
{
if( zeilen == 1)
{
printf("---");
}
}
}printf("\n");
}ich erhalte damit auch den außenrahmen sozusagen. aber wie bring ich c jetzt bei,innerhalb der tabelle die werte zu berechnen?
-
#include <stdio.h> int mul(int i,int k) { mul=i*k; return mul; } void tabelle() { int zeilen; int spalten; printf(" |\n"); for(zeilen=0; zeilen<12; ++zeilen) { if( zeilen > 1 ) { printf(" %2d |",(zeilen-1)); } else { printf(" |",zeilen); } for( spalten=0; spalten<10; ++spalten) { if( zeilen == 0 ) { printf("%3d", (spalten+1)); } else { if( zeilen == 1) { printf("---"); } } } printf("\n"); } int main() { tabelle(); return 0; } }
insgesamt siehts so aus.nur die sache mit dem rückgabewert und der berechnung leuchtet mir leider nicht so richtig ein.
-
Den Rückgabewert in welcher Zeile meist du? Entweder Zeilennummer angeben oder einige wenige Zeilen Quelltext.
Was soll die geschweifte Klammer am Ende in Zeile 52.
Das sollten aber Punkte sein wo sich C und C++ sehr ähnlich sind.
Nutze für den Quelltext den Button C/C++ statt Code.
Mit dem Quelltext formatieren - da geht noch was, damit das übersichtlicher wird.
MfG f.-th.
-
int mul(int i,int k) { mul=i*k; return mul; }
Nein, so funktioniert das nicht. mul ist ja schon der Name der Funktion, der kannst du nichts zuweisen. Du müsstest so etwas in dieser Art machen:
int mul(int i,int k) { int ergebnis =i*k; return ergebnis; }
Oder kürzer und ohne unnötige Zwischenwerte:
int mul(int i,int k) { return i*k; }
Den Rest habe ich mir gerade noch nicht angeguckt.
-
das mit mul hab ich gemerkt,habs schon geändert,danke^^
-
ich bin kurz vorm verzweifeln...wie bekomme ich das hin,das c mir mul in der tabelle ausrechnet?ich hab wirklich keine ahnung wie ich das wo einbinden soll.wäre also nett,wenn mir das mal jemand ausführlich erklären könnte...
-
Lizitas schrieb:
ich bin kurz vorm verzweifeln...wie bekomme ich das hin,das c mir mul in der tabelle ausrechnet?ich hab wirklich keine ahnung wie ich das wo einbinden soll.wäre also nett,wenn mir das mal jemand ausführlich erklären könnte...
Mal andersrum gefragt: Offensichtlich ist die Aufgabe für dich in C++ ja kein Problem. Kommt bei deiner C++ Lösung das Wort
class
oderstruct
vor? Oder etwas aus der STL? Wenn nein (was ich annehme), dann kannst du das praktisch 1:1 nach C übersetzen.
-
Das stimmt nicht ganz.In C++ würde ich die Ausgabe der Berechnung in der Tabelle in etwa so schreiben:
for(i=1;i<=10;i++)
{
cout<<setw(6)<<i;
if (i==1)
cout<<setw(25)<<...<<endl;
else
cout<<setw(25)<<...<<setw(18)<<...<<endl;
}Das cout in C printf ist,weiß ich ja. Aber was würde man in C anstatt setw(...) schreiben?Mein Problem ist,dass wir einfach keine richtige Einführung bekommen. Mir fehlen so viele Befehle.Deswegen wäre ich sehr dankbar,wenn mir das einfach mal jemand aufschreiben würde,wie man das in C macht. Es muss auch nicht meine Aufgabe sein,wenn ihr so Angst davor habt,dass ich das einfach kopiere. Ich will es einfach nur einmal gesehen haben,wie das funktioniert,dann weiß ichs wenigstens endlich.
-
Hier kannst du es nachlesen:
http://www.cplusplus.com/reference/clibrary/cstdio/