Programm in C schreiben

TunisDream

Banned
Thread Starter
Mitglied seit
26.11.2006
Beiträge
2.597
Ich hab ein Problemchen :d

Ich soll für Infromatik (freiwillige Aufgabe) ein Programm schreiben, welches eine in Celsius angegebene Temperatur in Fahrenheit umrechnet.

Das gemeine: Die Aufgabe ist für "forgeschrittene", und da ich zum ersten mal Informatik habe und auch das erstmal mal mit C Programmiere (überhaupt programmiere) bräuchte ich eure Hilfe.

Das einzige was ich habe ist die Umrechnungsformel, diese lautet:

TempCel = ((TempFar - 32) * 5) / 9;

Also ich kann damit nix anfangen, Ihr vielleicht?

Ich benutze den vom Dozenten zur Verfügung gestellten Bloodshed-Dev-C++ Compiler
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Hi,
also wirklich schwer sollte das Problem nicht zu lösen sein, zuerst solltest du die Formel nach Fahrenheit umstellen so das du eben für den gegebenen Celsius Wert den Fahrenheitswert erhälst. Den gegebenen Celsius Wert kannst du ja über die Konsole beim Aufruf des Programmes an die Main funktion übergeben, innerhalb dieser dann die Umrechnung statt findet. Das ganze Programm sollte mit ~5-10 Zeilen Code umsetzbar sein.

MFG TRP
 
Genau das ist mein Problem.... ich versteh nur Bahnhof :(
Ich hab jetzt mal zum Spaß aus dem Buch "Jetzt lerne ich C" ein Programm, haargenau so abgetippt wie es im Buch steht.... aber da läuft nix bei mir!
Fehlerausgabe: "unable to run program" und "Quelldatei ist nicht kompiliert"
 
Zuletzt bearbeitet:
Bis wann haste denn Zeit?
Ich muss mal schauen ob ich unser PTA Script noch als pdf finde, da sind die grundbefehle sehr gut mit beispielen usw erklärt...

Edit:
Wie man den Compiler bedient weiss ich net genau, wir haben mit der "Visual C++ Express Edition" von MS (ist kostenlos bei denen zum Saugen) programmiert. Da war alles dabei, vielleicht kann man da auch deinen Compiler einbinden.
 
Zuletzt bearbeitet:
Ich hab da eine Woche für Zeit, wie gesagt ist freiwillig, aber ich will das lernen und können. Nur wenn ich schon ein Programm aus einem Buch 1:1 abschreibe und das nicht läuft, dann hab ich schon keinen Bock mehr!!!!
 
Also am einfachsten steigst du in die Programmierung wohl ein wenn du dir auf nem alten Rechner oder einer 2ten Partition ein Suse Linux aufspielst, das bringt von Haus aus die meisten Tools mit die du für einen grundlegenden Start in C brauchst u.A Compiler etz. Wir haben im ersten Semester als wir C gelernt haben komplett unter suse im einfachen Texteditor gearbeitet und das ganze dann per Konsole compiliert und ablaufen lassen.
 
Mit welchem Compiler arbeiten denn die Autoren des Buches und mit welchem arbeitest du?

@Vorredner: Was soll er denn mit Linux arbeiten, wenn er sein Programm eh unter Windows vorstellen muss/benutzt?
 
den code den du programmierst versteht der prozessor nicht, du musst ihn kompilieren (dabei werden dir auch syntaktischen fehler die du gemacht hast angezeigt) damit daraus für den prozessor verständliche assembler befehle werden. das geschieht alles automatisch, du musst halt in deiner entwicklungsumgebung den kompilier-button finden. hatte länger kein c mehr, kann sein das der dateiname zum klassennamen passen muss und solche feinheiten, aber das bekomsmte selber raus.
wenn du allerdings gar keine ahnung hast (davon gehe ich aus wenn du noch nie programmiert hast) dann solltest du dir irgendeine c-datei öffnen damit du das ganze aussenrum (mainmethode und so weiter) nicht selber schreiben musst, dauert eh bis man versthet wie das alles funktioniert.
wenn du soweit bist das du ein gerüst hast musst du natürlich noch die entwprechende füllung reinprogrammieren. formeln sind nicht so schwierig, du musst dir gedanken machen welchen datentyp du vorliegen hast (bei dezimalzahlen bietet sich float an) und dann die formel programmieren, da sie nur elementare rechenoperationen enthält brauchst du keine methoden aus der bibliothek. ebenfalls als tipp für den anfang rate ich dir dich nicht zu übernehmen, es reicht vollkommen wenn du das programm erstmal so schreibst das du im programm variablen anlegst und nur diese umrechnen lässt, also nicht mit dynamischer benutzereingabe (eine vernünftige ein/ausgabe ist nicht ganz sooo leicht) sondern statisch mit zb. float tempingrad = 30. später kannste dich mit cin und cout befassen, sprcih mit der standardein/ausgabe.
das waren alles nur grobe tipps, im speziellen kann ich dir leidern icht helfen da c eine ganze weile her ist.
 
Die Autoren des Buches arbeiten mit ANSI-C Standard und ich mit dem DEV-C++ der das auch kann
 
Fehlerausgabe: "unable to run program" und "Quelldatei ist nicht kompiliert"
das hört sich danch an als ob du einfach direkt den Quelltext ausfühern wolltest du musst ihn aber erst kompilieren
geh einfach oben im Menü auf Ausführen und klick dann auf komilieren+ausführen so müsste es eingentlich gehen
Der Kompiler (Dev C++) ist gibts übrigens auch kostenlos zu saugen im Internet
Sonst gibts hier auch ein gutes Tutorial zu den Grundlagen von C, Pascal und Basic http://www.tutorials.at/
 
Zuletzt bearbeitet:
Die Autoren des Buches arbeiten mit ANSI-C Standard und ich mit dem DEV-C++ der das auch kann


ANSI-C ist der C-Standard, aber nicht der Compiler (oder heißt der Compiler so? oO).

Dev-C++ hatte ich auch so meine Probleme mit in C...
Bin dann für C auf Visual C++ 6 Autoren Version (so glaub ich hieß die) umgestiegen, denn die ist umsonst...
 
So hab das "kleine" Problem behoben (lag an DEV-C++ hab bisschen gegoogelt)

ANSI-C ist der Standard, richtig und die sagen nicht welchen Compiler die benutzen, sondern nur das man das Buch auf jeden Compiler übertragen kann, der diesen C-Standard nutzt

Ich versuche mich jetzt mal in diese Umrechnung und würde mich freuen, wenn mir dabei jemand helfen kann.
 
Zuletzt bearbeitet:
Mit welchem Compiler arbeiten denn die Autoren des Buches und mit welchem arbeitest du?

@Vorredner: Was soll er denn mit Linux arbeiten, wenn er sein Programm eh unter Windows vorstellen muss/benutzt?

Wenn er in C einsteigen will sollte er imo einfach unter Linux anfangen, den Code nachher auf Windows zu portieren ist dann nicht mehr so ein Akt. Und wo steht denn das er es unbedingt auf Windows zeigen muss? Evtl. würde es ein bisschen Eindruck machen wenn er zeigen würde das er nicht nur mit windows umgehen kann?
 
Auf den Rechnern in unserer FH (im übrigen sehr modern) ist Suse Linux 10.1 und Windoof installiert. Und unser Dozent ist ein Linuxliebhaber und Microsoft Verachter :d
Hinzugefügter Post:
Ist jemand so freundlich und korrigiert das?

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

int c, f, wahl;

int ToFahrenheit(int c)
{
f=9/5*c+32;
return f;
}

int ToCelsius(int f)
{
c=(f-32)*5/9;
return c;
}

int main(int argc, char *argv[])
{

printf("Temperaturrechner\n");
printf("C->F=1 | F->C=2 ");
scanf("%d", &wahl);

if (wahl==1 || wahl==2)
{
if (wahl==1)
{
printf("Bitte Temperatur in C eingeben: ");
scanf("%d", &c);
printf("Ergebnis: %f\n", ToFahrenheit);
}
else
{
printf("Bitte Temp in F eingeben: \n");
scanf("%d", &f);
printf("Ergebnis: %f\n", ToCelsius);
}
}
else printf("Bitte 1 oder 2 eingeben!\n");

system("PAUSE");
return 0;
}
 
Zuletzt bearbeitet:
Code:
#include <stdio.h>
#include <stdlib.h>

int ToFahrenheit(int c)
  {
  int f;
  f=9/5*c+32;
  return f;
  }

int ToCelsius(int f)
  {
  int c;
  c=(f-32)*5/9;
  return c;
  }

int main(int argc, char *argv[])
{
  int eingabe,wert;
  printf("Temperaturrechner\n");
  printf("C->F=1 | F->C=2 ");
  scanf("%d", &eingabe);
 
  if (eingabel==1 || eingabel==2)
  {
              if (eingabe==1)
              {
                          printf("Bitte Temperatur in C eingeben: ");
                          scanf("%d", &wert);
                          printf("Ergebnis: %d\n", ToFahrenheit(wert));
              }
              else
              {
                          printf("Bitte Temp in F eingeben: \n");
                          scanf("%d", &wert);
                          printf("Ergebnis: %d\n", ToCelsius(wert));
              }  
  }          
  else {
                           printf("Bitte 1 oder 2 eingeben!\n");
  }  
 
  system("PAUSE");   
  return 0;
}
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh