| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 359 人关注过本帖
标题:我刚接触c语言,不知道程序除了什么问题,求助···鼓捣了一天了,心力憔悴 ...
只看楼主 加入收藏
cYY菜鸟
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-1-6
结帖率:0
收藏
已结贴  问题点数:10 回复次数:1 
我刚接触c语言,不知道程序除了什么问题,求助···鼓捣了一天了,心力憔悴。
#include "stdio.h"
#define N 100
#include "string.h"
#include "stdlib.h"
#include "conio.h"
typedef struct xingxi
{
    int num[20];
    char name[20];
    int money[100];(这里如我想输入几千的数,应该怎么处理呢?)
}XX;

void menu()   /*菜单函数*/
{
    printf("        ************欢迎进入管理员管理系统**********\n");
    printf("           1.录入手机信息(用于空文件)");
    printf("           2.删除手机信息\n");
    printf("        ************欢迎进入管理员管理系统**********\n");
    printf("\n");
    printf("\n");
   
}

void shuru(XX a[])   /*录入函数*/
{ FILE*fp;
    int i,m;
    printf("请输入需要录入的手机信息数量:\n");
    scanf("%d",&m);
    for (i=0;i<m;i++)
    {
        printf("请输入手机编号: ");
        scanf("%d",a[i].num);
        printf("请输入手机名称名称:  ");
        scanf("%s",a[i].name);
        printf("请输入手机价格:  ");
        scanf("%d",a[i].money);
        printf("\n");
    }
    printf("\n创建完毕!\n");
    fp=fopen("手机信息.txt","a+");
    for(i=0;i<m;i++)
    {
        fputs("\n",fp);
        fprintf(fp,"%d\t",a[i].num);
        fprintf(fp,"%s\t",a[i].name);
        fprintf(fp,"%d\t",a[i].money);
    }
    fclose(fp);
}
void sancu(XX a[])   /*删除函数*/
{
    int i,j,n,m=0,t,flag;
    char name[100];   
    FILE*fp;
    while(feof(fp)==0);     
        {
        fscanf(fp,"%d",a[i].num);
        fscanf(fp,"%s",a[i].name);
        fscanf(fp,"%d",a[i].money);
        m++;
        }
     fclose(fp);
     printf("手机编号\t手机名字\t手机价格\n");
for(i=0;i<m;i++)
    {  
        printf("%d\t\t",a[i].num);
        printf("%s\t\t",a[i].name);
        printf("%d\t\t",a[i].money);
    }   
  
    printf("\n");
    printf("请输入要删除的快件名称:\n");
    scanf("%s",name);
    for(flag=1,i=0;i<m;i++)
    {
        if(strcmp(a[i].name,name)==0)
        {
            printf("\n已找到此快件,原始记录为:\n");
            printf("手机编号\t手机名字\t手机价格\n");
            printf("%d\t\t",a[i].num);
            printf("%s\t\t",a[i].name);
            printf("%d\t\t",a[i].money);

            printf("\n确实要删除此快件信息请按1,不删除请按0\n");
            scanf("%d",&n);
            if(n==1)
            {
                for(j=i;j<m-1;j++)
                {
                    strcpy(a[i].num,a[j+1].num);
                    strcpy(a[i].name,a[j+1].name);
                    strcpy(a[i].money,a[j+1].money);
                }
                flag=0;
            }
        }
    }
    if(!flag)
        m=m-1;
    else
        printf("\n对不起,查无此人!\n");
    printf("\n 浏览删除后的所有快件信息:\n");
    fp=fopen("手机信息.txt","w+");
    for(i=0;i<m;i++)
    {
        fputs("\n",fp);
        fprintf(fp,"%d\t",a[i].num);
        fprintf(fp,"%s\t",a[i].name);
        fprintf(fp,"%d\t",a[i].money);
    }
   for(i=0;i<m;i++)
    {  
        printf("%d\t\t",a[i].num);
        printf("%s\t\t",a[i].name);
        printf("%d\t\t",a[i].money);
    }   

    printf("\n继续删除请按1,不再删除请按0\n");
    scanf("%d",&t);
    switch(t)
    {
    case 1:sancu(a);break;
    case 0:
        break;
    default :
        break;
    }
}   

    void main()
    {
  XX a[N];
   int n;
    menu();
    printf("请选择要进入的模块\n");
    scanf("%d",&n);
    switch(n)
    {
case 1:shuru(a);
    break;
case 2:sancu(a);
    break;
    }
}


进入删除子函数的时候,程序就出错结束了······

[ 本帖最后由 cYY菜鸟 于 2013-1-6 18:55 编辑 ]
搜索更多相关主题的帖子: 管理系统 管理员 include money 
2013-01-06 18:50
tompobing
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:260
专家分:809
注 册:2012-12-9
收藏
得分:10 
typedef struct xingxi
 {
     int num;
     char name[20];
     int money;
 }XX;
还有你的sancu函数里面的fscanf和shuru中的scanf都没有加地址符&
2013-01-06 19:26
快速回复:我刚接触c语言,不知道程序除了什么问题,求助···鼓捣了一天了,心 ...
数据加载中...
 
   



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

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