Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C (http://www.go4expert.com/forums/c/)
-   -   How can I store string in a text file??Here are my codes (http://www.go4expert.com/forums/i-store-string-text-filehere-codes-t20833/)

askmewhy25 1Feb2010 20:51

How can I store string in a text file??Here are my codes
 
Can someone help me to convert the if and elseif statements to switch-case format and i want to store my strings to a text file how will i do that?

Code:

#include<stdio.h>
#include<math.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>

main(){
      char string[16][128],temp[128],search[128];
      int i=0,s=0,rep,sel,x,eq;
      do{
          do{
            system("cls");
            printf("String Database\n\n");
            printf("1 - Store a String to the Database\n");
            printf("2 - Remove a String from the Database\n");
            printf("3 - View Strings in the Database\n");
            printf("4 - Search a String in the Database\n");
            printf("5 - Exit\n");
            scanf("%d",&sel);
            }while(sel!=1&&sel!=2&&sel!=3&&sel!=4&&sel!=5);
         
          if(sel==1){
                    do{
                        system("cls");
                        printf("Input a string: ");
                        scanf("%s",&string[s]);
                        s++;
                        do{
                          system("cls");
                          printf("String successfully added\n");
                          printf("Enter another string?\n\n");
                          printf("1 - Yes\n");
                          printf("2 - No\n");
                          scanf("%d",&rep);
                          }while(rep!=1&&rep!=2);
                        }while(rep==1);
                    }
          else if(sel==2){
              do{
                  system("cls");
                  printf("Select position of string to remove:\n");
                  for(i=0;i<s;i++)
                    printf("%d-%s\n",i+1,string[i]);
                    scanf("%d",&x);
                    strcpy(string[x-1],"");
                    s--;
                    strcpy(temp,string[s]);
                  for(i=x;i<s;i++)
                    strcpy(string[i-1],string[i]);
                    strcpy(string[s-1],temp);
                  do{
                    system("cls");
                    printf("String successfully deleted\n");
                    printf("Remove another string?\n\n");
                    printf("1 - Yes\n");
                    printf("2 - No\n");
                    scanf("%d",&rep);
                    }while(rep!=1&&rep!=2);
                  }while(rep==1);
              }
          else if(sel==3){
              system("cls");
              for(i=0;i<s;i++)
                  printf("%d - %s\n",i+1,string[i]);
                  printf("\nPress any key to return to main menu");
              getch();
              }
          else if(sel==4){
              do{
                  eq=1;
                  strcpy(search,"");
                  system("cls");
                  printf("Enter string to search: ");
                  scanf("%s",&search);
                  for(i=0;i<s;i++){
                    eq=strcmp(string[i],search);
                    if(eq==0)
                    break;
                    }
                  do{
                    system("cls");
                    if(eq==0){
                    printf("String matched\n");
                    printf("Position of searched string in array is %d",i+1);
                    }
                    else{
                    printf("String not found\n");
                    printf("Search another string?\n\n");
                    printf("1 - Yes\n");
                    printf("2 - No\n");
                    scanf("%d",&rep);
                    }
                    }while(rep!=1&&rep!=2);
                  }while(rep==1);
              }
          }while(sel!=5);
      }


Gene Poole 1Feb2010 21:43

Re: How can I store string in a text file??Here are my codes
 
Please format that mess into something readable. Use code tags! See the forum BB code help:

http://www.go4expert.com/misc.php?do=bbcode

xpi0t0s 2Feb2010 14:36

Re: How can I store string in a text file??Here are my codes
 
Why do you need help converting if/else if to switch/case? It's REALLY easy. Have you even tried, or are you just assuming it's difficult? Or is the problem that you don't know the syntax?

Anyway, here's an example:

Code:

if (a==1) { ..; }
else if (a==2) { ..; }
else if (a==3) { ..; }
else { ..; }

switch (a)
{
case 1: { ..; break; }
case 2: { ..; break; }
case 3: { ..; break; }
default: { ..; break; }
}

For storing stuff to a file have a look at fopen, fclose, fgets and fprintf.

askmewhy25 2Feb2010 16:59

Re: How can I store string in a text file??Here are my codes
 
I know how to use switch format but the problem is when I need to call the data stored inside the string, every time I call them they are always null

xpi0t0s 2Feb2010 22:39

Re: How can I store string in a text file??Here are my codes
 
I can't see your screen from here. What input did you give, and what output did you get? What output did you expect?
Have you tried adding any debug code to make sure what you think is happening really is happening? So for example after the first
Code:

printf("Input a string: ");
scanf("%s",&string[s]);

does string[0] contain what you expect? You might try adding something like:
Code:

printf("Stored '%s' in string[s=%d]\n",string[s],s);
to verify that the correct string is stored in the correct place.


All times are GMT +5.5. The time now is 05:33.