| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 590 人关注过本帖
标题:为什么我的文件不能保存?
只看楼主 加入收藏
cornerxx
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-5-5
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
为什么我的文件不能保存?
这是我的程序,save那儿是错的,不能保存,求高手帮忙改啊!!!!!!!!!!!
学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。
试设计一学生信息管理系统,使之能提供以下功能:
1、系统以菜单方式工作
2、学生信息录入功能(学生信息用文件保存)--输入
3、学生信息浏览功能--输出
4、学生信息查询功能--算法按学号查询按姓名查询
5、学生信息的删除与修改(可选项)
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
struct student
{
    char num[10];
    char name[10];
    int age;
    char sex[10];
    char birthday[20];
    char tel[12];
    char addr[50];
}st[100];
int i=0;

void input()
{
    char a;
    do{
        printf("\n请输入学号:");
        scanf("%s",st[i].num);
        fflush(stdin);
        printf("\n请输入姓名:");
        gets(st[i].name);
        printf("\n") ;
        printf("请输入年龄:");
        scanf("%d",&st[i].age);
        fflush(stdin);
        printf("\n请输入姓别:");
        gets(st[i].sex);
        fflush(stdin);
        printf("\n请输入生日:");
        gets(st[i].birthday);
        printf("\n请输入电话:");
        scanf("%s",st[i].tel);
        fflush(stdin);
        printf("\n请输入地址:");
        gets(st[i].addr);
        printf("\n是否继续输入另外一个学生信息?(y/n)");
        fflush(stdin);
        a=getchar();
        i++;
    }while(a=='y' && i<=50);

}

void show()
{
    int j;
    printf("\t学号\t姓名\t年龄\t性别\t生日\t\t电话\t地址\n");
    for(j=0;j<i;j++)
    printf("\t%s\t%s\t%d\t%s\t%s\t%s\t%s\n",st[j].num,st[j].name,st[j].age,st[j].sex,st[j].birthday,st[j].tel,st[j].addr);
}

void search()
{
    int m,item;
    char name[11],num[10];
    printf("------------------\n");
    printf("1.按学号查询\n");
    printf("2.按姓名查询\n");
    printf("3.退出本菜单\n");
    printf("------------------\n");
    while(1)
    {
        printf("请选择子菜单编号:");
        scanf("%d",&item);
        switch(item)
        {
        case 1:
            printf("\n请输入想查找的学生学号:");
            fflush(stdin);
            scanf("%s",num);
            for(m=0;m<i;m++)
            {
                if(strcmp(num,st[m].num)==0)
                {
                    printf("\n\t您查找的学生在第%d个位置找到了!!!\n",m+1);
                    break;
                }
            }
            if(m>=20)
                printf("\n\t没有找到这个学生!!!\n");
            else
            {
                printf("\t学号\t姓名\t年龄\t性别\t生日\t\t电话\t地址\n");
                printf("\t%s\t%s\t%d\t%s\t%s\t%s\t%s\n",st[m].num,st[m].name,st[m].age,st[m].sex,st[m].birthday,st[m].tel,st[m].addr);
            }
            break;
        case 2:
            printf("\n请输入想查找的学生姓名:");
            fflush(stdin);
            scanf("%s",name);
            for(m=0;m<i;m++)
            {
                if(strcmp(name,st[m].name)==0)
                {
                    printf("\n\t您查找的学生在第%d个位置找到了!!!\n",m+1);
                    break;
                }
            }
            if(m>=20)
                printf("\n\t没有找到这个学生!!!\n");
            else
            {
                printf("\t学号\t姓名\t年龄\t性别\t生日\t\t电话\t地址\n");
                printf("\t%s\t%s\t%d\t%s\t%s\t%s\t%s\n",st[m].num,st[m].name,st[m].age,st[m].sex,st[m].birthday,st[m].tel,st[m].addr);
            }
            break;
        case 3:return;
        default:printf("请在1-3之间选择\n");
        }
    }
}


void delet()
{
    char name[20],c;
    int a,b;
    do
    {
        printf("\n请输入要删除的学生姓名:\n");
        fflush(stdin);
        gets(name);
        for(a=0;a<i;a++)
        {
            if(strcmp(name,st[a].name)==0)
                break;
        }
        for(b=a;b<i;b++)
            st[b]=st[b+1];
        if(a>i)
            printf("\t没有找到这个学生!!!\n");

        else
        {
            i--;
            show();
        }

        printf("\n是否继续删除另一个学生信息?(y/n) ");
        fflush(stdin);
        c=getchar();
    }while(c=='y');

}

void charu()
{
    input();
}

void save()
{
    FILE *fp;
    char *caIpt;
    long double cRlt;
 fp=fopen("data.txt","a");//在文件末尾追加
fputs(caIpt,fp);
fseek(fp,0,2);//扫描到最后。
fputc('=',fp);
fprintf(fp,"%lg",cRlt);
fputc('\n',fp);
fclose(fp);
}
void Load( FILE *fp)
{
char ch;
fp=fopen("data.txt","r");
ch=fgetc(fp);//从指定的文件读入一个字符,fp自动后移。直到feof。
while(!feof(fp))
{
putchar(ch);ch=fgetc(fp);
}
fclose(fp);

}

void menu()
{
    system("cls");
    printf("\n");
    printf("          *******************Main      Menu*******************\n");
    printf("          ********1.input  record      2.show   record********\n");
    printf("          ********3.search record      4.delet  record********\n");
    printf("          ********5.charu  record      6.save   record********\n");
    printf("          *****************7.quit      record*****************\n");
    printf("          ****************************************************\n");
}

void main()
{
    int change;
    FILE *fs;
fs = fopen("a.txt","w");
fprintf(fs, "hello world!\n");
fclose(fs);
return 0;

    menu();
    do
    {
        system("cls");
   menu();
   printf("\n              Please Enter your choice(1~7):");    /*显示提示信息*/
   scanf("%d",&change);
        fflush(stdin);
        switch(change)
        {
        case 1: input(); break;
        case 2: show(); break;
        case 3: search(); break;
        case 4: delet(); break;
        case 5: charu(); break;
        case 6: save();break;
        case 7: exit(0);break;
        default:printf("Input error,please input again!\n");
        }
        getch();
    }while(change!=6);
}
搜索更多相关主题的帖子: 信息 学生 学号查询 include 
2013-05-05 19:36
一介草莽
Rank: 2
等 级:论坛游民
帖 子:20
专家分:60
注 册:2012-10-8
收藏
得分:7 
void save_data(struct staff[])
{
    FILE *fp;   
    fp=fopen("data.dat","wb");   
    if(fp==NULL)      
    {                        
      printf("打开文件出错!");     
      exit(0);                  
    }
    for(int i=0;i<count;i++)
    {
      if(fwrite(&staff[i],sizeof(struct staff),1,fp)!=1)
      {
          puts("存入文件出错!");
      }
    }
    fclose(fp);
}

仅供参考 具体可查看谭浩强的c语言文件操作
最好保持书上的模板框架
2013-05-05 21:25
BCLTDC
Rank: 2
等 级:论坛游民
帖 子:20
专家分:10
注 册:2013-4-29
收藏
得分:7 
不好意思,没亲自操作过,代码都是老师给的! 请问楼上的是否有QQ木马病毒盗号的程序代码,能不能给我下?或者指教下在哪里可以找到!?!
2013-05-06 12:46
Han_FlyB
Rank: 6Rank: 6
等 级:侠之大者
帖 子:143
专家分:424
注 册:2013-3-25
收藏
得分:7 
回复 3楼 BCLTDC
你要干嘛?盗QQ啊
2013-05-06 13:58
快速回复:为什么我的文件不能保存?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019859 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved