Ausgabefehler

Software für PC wie Open Office, Antvirenprogramme, Firewalls usw. Programmiersprachen wie Visual Basic, Pascal, C++.

Software für PC wie Open Office, Antvirenprogramme, Firewalls usw. Programmiersprachen wie Visual Basic, Pascal, C++.

Moderator: Moderatorengruppe

Ausgabefehler

Neuer Beitragvon Enomis am Sonntag 6. März 2011, 10:55

Hallo und schönen Sonntag an alle!

Ich will ein kleines Programm schreiben mit dem man einen Text ver- bzw- entschlüsseln kann.

Code: Alles auswählen
#include <stdio.h>
#include <stdlib.h>

int main (void)
{

char a, textv[21], texte[21], schluessel[21], beenden;



printf("Dies ist ein Programm zur Ver- und Entschlüsselung eines Textes.");

printf ("Wollen Sie verschlüsseln(v) oder entschlüsseln(e)?");

scanf ("%c", &a);

switch (a)
{
case 'v':
          printf ("Sie möchten verschlüsseln.");
          printf ("Bitte geben Sie Ihren Text ein:");
          getchar();
          gets (textv);
          printf ("Text:%s\n",textv);
          printf ("Bitte geben Sie das Schlüsselwort ein (nicht mehr als 20 Zeichen):\n");
          getchar();
          gets (schluessel);
          printf ("Ihr Schlüsselwort:%s\n",schluessel);
getchar();
         
          break;



So weit so gut.

Beim zweiten gets (Schlüssel) wird meine Eingabe eingelesen und danach auch wieder ausgegeben, mit einem Fehler: Es fehlt immer der 1. Buchstabe.
Dadrüber wird genau dasselbe gemacht, einlesen, ausgeben, und da funktioniert das Ganze wunderbar. Habt ihr eine Idee warum es ein paar Zeilen weiter nicht mehr klappt?

Vielen Dank im Voraus,
Enomis
Enomis
Threadstarter
42131
Junior Mitglied
 
Beiträge: 17
Registriert: Dienstag 19. Januar 2010, 10:33
Postleitzahl: 12105
Land: Germany / Deutschland

Re: Ausgabefehler

Neuer Beitragvon derguteweka am Sonntag 6. März 2011, 11:57

Moin,

Mit getchar holst du dir immer schon ein Zeichen von stdin ab. Beim erstem Mal merkst du's nicht, weil da noch von dem scanf ein <CR> in stdin rumlag. Beim zweiten Mal faellts dann auf, weil das getchar() das erste Zeichen deines Schluessels aus stdin rausnimmt.

Gruss
WK
derguteweka
42132
Moderator
 
Beiträge: 1048
Registriert: Freitag 18. August 2006, 15:47


Zurück zu Computer Software

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


cron