Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » string mehrmals erfassen ?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
21.11.2005, 18:55 Uhr
nicknase



Hallo,
Schreiben Sie ein Programm, das n-mal (per #define) zwei Strings erfassen
kann.
• Der Speicherplatz für die Strings ist mittels der Routinen malloc() oder
calloc() zu reservieren.
• Die maximale Stringlänge beträgt 100 Zeichen.
• Nach der Erfassung der Strings bestimmen Sie deren tatsächliche Länge
und prüfen welcher String „größer“ ist (Standardfunktionen dürfen
verwendet werden).


mein Problem das vergleichen der Strings mach ich mit Strcmp , wenn ich aber 2 Strings defeniere

char *string1;
char *string2;

und will die mehrmals einlesen bsp:

#define p 1

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

printf ("\n String1");
scanf ("%s",&string1[i]);
}

for (g=0;g<p;g++)
{
printf ("\n String2");

scanf ("%s",&string2[g]);


}

überschreibe ich ja immer wieder denn String also wie kann ich das machen ?
es dürfen ja nur 2 Strings sein und diese sollen mehrmals eingelsen werden.

das vergleichen hab ich mal so gemacht.

danke


nick nase
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
21.11.2005, 19:13 Uhr
(un)wissender
Niveauwart


Tja und der Speicher? malloc...
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
21.11.2005, 19:26 Uhr
nicknase



Hallo,
wollte es erstmal ohne machen und auch ohne struct



Gruss

Nick Nase
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
21.11.2005, 19:57 Uhr
kronos
Quotenfisch
(Operator)



Zitat von nicknase:
Hallo,
wollte es erstmal ohne machen und auch ohne struct


*lol*
Ist besser, wenn du's von Anfang an mit Speicher versuchst : )
Was das überschreiben betrifft, string1 und string2 sollten eben auf unterschiedlichen speicher verweisen, dann kannst du auch verschiedene strings drin speichern.
Lies lieber nochmal'n bischen in deinem Buch und schau dir ein paar Beispiele an (davon dürftest du hier und im Netz genügend finden).
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
21.11.2005, 21:37 Uhr
nicknase



Hab mal so gemacht was sagt ihr dazu ?

C++:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <cstdlib>
#include <iostream>

#define p 1

main()
{
  char * string1 = (char *) malloc(sizeof(char));        
  char * string2 = (char *) malloc(sizeof(char));
  int i, g;

  for (i = 0; i < p; i++)
  {
    printf ("\n String1");
    scanf ("%s",&*string1);
  }

  for (g = 0; g < p; g++)
  {
    printf ("\n String2");
    scanf ("%s",&*string2);
  }

  if ((strcmp(string1,string2)) < (strcmp(string2,string1)))
  {
    printf ("\n String 1 ist Groesser ");
    getch();
  }
  else if ((strcmp(string1,string2)) > (strcmp(string2,string1)))
  {
    printf ("\n String 2 ist Groesser ");
    getch();
  }

  free (string1);
  free (string2);
}



Bearbeitung von 0xdeadbeef:

Code mal lesbar eingerückt. In Zukunft bitte selbst machen.


Dieser Post wurde am 21.11.2005 um 22:40 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
21.11.2005, 22:15 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


schreibt ihr eigentlich mit absicht den Code so unstrukturiert damit ihn auch ja keiner verstehen kann...

probier mal zunächst die "richtige" menge an speicher zu allokieren... malloc(sizeof(char)) liefert dir einen zeiger auf einen für dich reservierten speicher der größe 1 mal sizeof(char)... wenns mehr sein soll (was ja beim string im allgemeinen der fall ist wenn es kein nullstring sein soll) dann schon ein bisschen großzügiger bei der speicherallokiererei sein...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: