Studium, Ausbildung und Beruf
 StudiumHome   FAQFAQ   RegelnRegeln   SuchenSuchen    RegistrierenRegistrieren   LoginLogin

Einfaches C Programm
Neues Thema eröffnen   Neue Antwort erstellen
Foren-Übersicht -> Informatik-Forum -> Einfaches C Programm
 
Autor Nachricht
Iced.Earth
Newbie
Benutzer-Profile anzeigen
Newbie


Anmeldungsdatum: 28.10.2005
Beiträge: 30

BeitragVerfasst am: 20 Nov 2007 - 10:38:58    Titel: Einfaches C Programm

Hallo bin Anfänger in C. Ich will ein Programm schreiben das meinen Namen einliest und ihn dann ausgibt, also in der Art:

int n, m;
scanf ("%d %d", &n, &m)
printf ("Dein Name ist %d %d\n", n, m);

Nun funktioniert das jedoch nur für Zahlen. Wie kann Ich lange Wörter einlesen?
Annihilator
Valued Contributor
Benutzer-Profile anzeigen
Valued Contributor


Anmeldungsdatum: 18.05.2007
Beiträge: 6395
Wohnort: (hier nicht mehr aktiv)

BeitragVerfasst am: 20 Nov 2007 - 12:19:26    Titel:

In C gar nicht mal so trivial. Dazu musst du erstmal wissen: Es gibt in C keine Strings; lediglich Charakter-Arrays. Demnach könnte eine Variable für deinen Vornamen so aussehen:
Code:

char vorname[256];

Jetzt gibt es die tolle Funktion cin.getline, die eine Zeichenkette bis zur genannten Größe einliest:
Code:

cin.getline(vorname, 256)

Damit sollte es glaube ich funktionieren. Ich weiß jetzt aber nicht genau, ob und welche Header-Datein du einbinden musst...
al3ko
Inaktiver Account
Benutzer-Profile anzeigen


Anmeldungsdatum: 08.11.2006
Beiträge: 3148

BeitragVerfasst am: 20 Nov 2007 - 12:34:24    Titel:

Hallo Iced-Earth,

machst du das freiwillig oder lernt ihr die Sprache in der Schule (Informatik), Arbeit etc?

Wenn es für dich nur "just4fun" ist, würde ich dir C++ oder gar C# empfehlen.
Iced.Earth
Newbie
Benutzer-Profile anzeigen
Newbie


Anmeldungsdatum: 28.10.2005
Beiträge: 30

BeitragVerfasst am: 20 Nov 2007 - 15:00:30    Titel:

Ich habe einen C++ Compiler, den ich aber in C benutzen soll (für Studium). Werde es mit dem Befehl mal versuchen
dönis
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 31.03.2006
Beiträge: 4740

BeitragVerfasst am: 20 Nov 2007 - 15:43:07    Titel:

al3ko hat folgendes geschrieben:

Wenn es für dich nur "just4fun" ist, würde ich dir C++ oder gar C# empfehlen.


Wieso?

Bei uns läuft die komplette Softwaretechnik in C, bis auf nen wirklich sehr kurzen Einstieg in JAVA.
Das würde man ja nicht machen, wenn C++ oder C# wirklich soviel besser und C total abgeschrieben wäre Wink

Zum Thema:

Die Headerdatei ist die <string.h>

Du kannst deinen Namen auch mit der Funktion
gets() also get string einlesen und mit
puts() wieder ausgeben

Wir haben das allerdings immer mit
scanf("%s",&feldname) gemacht (mit dem Adressoperator & bin ich jetzt allerdings unsicher)
und mit
printf("%s",feldname) wieder ausgegeben...

Wie immer du es machst, du musst peinlichst genau drauf achten, dass deine Eingabe auch ins Feld passt. C prüft das nicht...
Annihilator
Valued Contributor
Benutzer-Profile anzeigen
Valued Contributor


Anmeldungsdatum: 18.05.2007
Beiträge: 6395
Wohnort: (hier nicht mehr aktiv)

BeitragVerfasst am: 20 Nov 2007 - 15:58:31    Titel:

dönis hat folgendes geschrieben:
... Bei uns läuft die komplette Softwaretechnik in C, bis auf nen wirklich sehr kurzen Einstieg in JAVA.
Das würde man ja nicht machen, wenn C++ oder C# wirklich soviel besser und C total abgeschrieben wäre Wink ...

Anscheinend hast du keine Ahnung... Sagen dir Stichworte wie Klassenkonzept bzw. objektorientierte Programmierung und Funktions-/Operatoren-Überladung irgend etwas ?
Und: Wo ist denn 'bei uns' ?
al3ko
Inaktiver Account
Benutzer-Profile anzeigen


Anmeldungsdatum: 08.11.2006
Beiträge: 3148

BeitragVerfasst am: 20 Nov 2007 - 16:43:24    Titel:

Ich wollte niemanden zu Nahe treten, als ich sagte, C# oder C++ seien besser als alles andere. Als ich mich aber mit C# beschäftigt habe, habe ich mich nicht nur mit dem Syntax, sondern auch mit der Vergangenheit und Gegenwart der Programmiersprachen und Entwicklungsumgebungen beschäftigt. Allgemein bin ich zu dem Fazit gekommen - und damit stehe ich anscheinend nicht alleine dar - dass in der heutigen Zeit die OOP immer mehr an Bedeutung gewinnt. Der Vorteil im .NET ist doch, dass verschiedene Sprachen zueinander kompatibel sind (Ein C# Programm unterstützt Klassen aus .NET C++). Das heißt im Klartext:
Unter .NET können sich drei Programmierer treffen, wobei jeder eine andere Sprache perfekt beherrscht (Z.B. C#, C++, VB). Sie arbeiten zusammen an einem großen Programm und teilen sich die Aufgaben. Jeder bearbeitet seine Aufgabe in einer eigenen Klasse, am Ende werden die Klassen zusammengefügt und das Programm läuft. Und das finde ich sehr bemerkenswert, denn so kann doch die Flexibilität gesteigert werden, oder siehst du das nicht so, dönis?
Stell dir mal vor, wir würden später zusammen arbeiten und hätten als Aufgabe, eine Windkraftanlage durch ein Programm zu steuern. Du kannst "nur" C und ich "nur" C#. Da hätten wir doch dann ein Problem, oder?

Darüber hinaus würde ich auch gerne wissen, was du mit "unserer kompletten Softwaretechnik" meinst?


MfG
al3ko
dönis
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 31.03.2006
Beiträge: 4740

BeitragVerfasst am: 20 Nov 2007 - 22:52:22    Titel:

Naja den Großteil unserer Programmiererfahrung im Grundstudium machen wir eben in C. Verkettete Listen, Sortier- und Suchalgorithmen usw.

Dazu dann eben noch ein ganz kurzer Ausflug in JAVA und das wars dann auch schon mit den höheren Programmiersprachen bei uns Energietechnikern. Überlege deswegen auch, ob ich zu Prozessinformatik/Automatisierungstechnik wechsele...

Uns wird immer das Gegenteil erzählt. OOP schön und gut, aber auf der Ebene, in der Energietechniker und Automatisierer (Mikroprozessoren usw.) arbeiten, solls auf möglichst kurzen und effizienten Quellcode ankommen. Und da soll C zu den Besten gehören...
toobee
Junior Member
Benutzer-Profile anzeigen
Junior Member


Anmeldungsdatum: 21.10.2007
Beiträge: 76

BeitragVerfasst am: 25 Nov 2007 - 14:43:49    Titel:

dönis hat folgendes geschrieben:
Naja den Großteil unserer Programmiererfahrung im Grundstudium machen wir eben in C. Verkettete Listen, Sortier- und Suchalgorithmen usw.

Dazu dann eben noch ein ganz kurzer Ausflug in JAVA und das wars dann auch schon mit den höheren Programmiersprachen bei uns Energietechnikern. Überlege deswegen auch, ob ich zu Prozessinformatik/Automatisierungstechnik wechsele...

Uns wird immer das Gegenteil erzählt. OOP schön und gut, aber auf der Ebene, in der Energietechniker und Automatisierer (Mikroprozessoren usw.) arbeiten, solls auf möglichst kurzen und effizienten Quellcode ankommen. Und da soll C zu den Besten gehören...


ja, c ist "high-lvl assembler" wie man es scherzahft manchmal nennt. du musst keine maschinenbefehle kennen, kannst aber fast so effizienten quellcode schreiben.
wirst dafür aber auch in die verwantwortung genommen "du weist was du tust" array grenzen werden nicht geprüft. allocierter speicher muss von dir auch wieder frei gegeben werden und und und.

c# und java sind da pflegeleichter zur kosten der performance, wer wirklich hoch effiziente programme schreiben will kommt c/c++ nicht vorbei. einfache anwendungen werden besser in java/c# geschrieben, sie sind einsteigerfreundlicher liefern einen gigantischen overhead an algos die man mal gebrauchen könnte und erledigen speichermanagment etc. fast komplett selbstständig.
Beiträge der letzten Zeit anzeigen:   
Foren-Übersicht -> Informatik-Forum -> Einfaches C Programm
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

Chat :: Nachrichten:: Lexikon :: Bücher :: Impressum