网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月25日漏签0天
c语言吧 关注:798,853贴子:4,357,536
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 18回复贴,共1页
<<返回c语言吧
>0< 加载中...

求大佬帮忙看看

  • 只看楼主
  • 收藏

  • 回复
  • 丨蛋蛋de忧伤
  • 团子家族
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
用的是VC+ +,程序编译0个错误,运行不了,双击问题没有指向,求大佬帮忙看看


  • 丨蛋蛋de忧伤
  • 团子家族
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


2025-07-25 03:24:57
广告
不感兴趣
开通SVIP免广告
  • 丨蛋蛋de忧伤
  • 团子家族
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼



  • 丨蛋蛋de忧伤
  • 团子家族
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼



  • 丨蛋蛋de忧伤
  • 团子家族
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include<stdio.h>//i o输入输出函数
#include<string.h>//字符串函数
#include<stdlib.h>//标准库函数
#include<ctype.h>//字符操作函数
#define M 50//定义常数表示记录数
typedef struct//定义数据结构
{
char no[20];//保存学号
char name[20];//保存名字
char sex[5];//保存性别-
int age;//保存年龄
}STUDENTS;
/*以下是函数原型*/
int menu_select(); //主菜单函数
int enter(STUDENTS t[]); //输入记录
void list(STUDENTS t[],int n); //显示记录
void search(STUDENTS t[],int n); //按姓名查找显示记录
int del(STUDENTS t[],int n); //删除记录
int add(STUDENTS t[],int n); //插入记录
void save(STUDENTS t[],int n); //记录保存为文件
int load(STUDENTS t[]); //从文件中读取记录
void display(STUDENTS t[],int n); //按序号查找记录
void sort(STUDENTS t[],int n); //按姓名排序
void copy(); //文件复制
void print(STUDENTS temp); //显示单条记录
int find_name(STUDENTS t[],int n,char *s); //按姓名查找函数
int find_no(STUDENTS t[],int n,char *no); //按学号查找
void modify(STUDENTS t[],int n); //修改记录
#include<G:\通讯录\头文件.h>
/********************************主界面*************************/
int menu_select()
{
printf("*******************通讯录****************");
char s[80];//定义输入的字符大小
int c;
printf("\n");
printf("* 1.新建联系人 *\n");
printf("* 2.查看联系人 *\n");
printf("* 3.按姓名查询 *\n");
printf("* 4.修改联系人 *\n");
printf("* 5.保存通讯录 *\n");
printf("* 6.删除联系人 *\n");
printf("* 7.排序联系人 *\n");
printf("* 8.退出 *\n");
printf("*****************************************\n");
do{
printf("\n请输入你的菜单选项编号(1-9):");
scanf("%s",s);//输入选项编号
c=atoi(s);//将输入字符串转为整形数
getchar();//防闪退
return c;
}while(c>=1&&c<=9);//判断输入数字是否符合
return 0;
}
/********************************新建联系人*************************/
int enter(STUDENTS t[])
{
int i,n;
system("cls");//清屏
printf("\n请输联系人条数:\n");//提示
scanf("%d",&n);//输入记录条数
printf("电话 姓名 性别 年龄\n");
printf("-----------------------------\n");
for(i=0;i<n;i++){
scanf("%s",t[i].no);//输入号码
scanf("%s",t[i].name);//输入姓名
scanf("%s",t[i].sex);//输入性别
scanf("%d",&t[i].age);//输入年龄
}
printf("-----------------------------\n");
getchar();//防闪退
return n;
}
/********************************查看联系人*************************/
void list(STUDENTS t[],int n)
{
int i;
printf("***********联系人***********\n");
printf("号码 姓名 性别 年龄\n");
printf("-----------------------------\n");
for(i=0;i<n;i++)//打印记录清单
{
printf("%-8s%-8s%-8s%-3d\n",t[i].no,t[i].name,t[i].sex,t[i].age);//输入号码、输入姓名、输入性别、输入年龄
if((i+1)%2==0&&n%2>0){//判断信息是否达到5条记录
printf("-----------------------------");
printf("每页显示2条联系人记录,按回车键向后翻页...\n");
getchar();//防闪退
system("cls");//清屏
printf("***********联系人***********\n");
printf("号码 姓名 性别 年龄\n");
printf("-----------------------------\n");
}
}
printf("-----------------------------\n");
}
/********************************按姓名查询*************************/
void search(STUDENTS t[],int n)//按姓名查找号码
{
char s[20];//保存待查询的字符串
int i;//保存查找到节点的序号
system("cls");//清屏
printf("请输入查询姓名:\n");//提示
scanf("%s",s);//输入待查询姓名
getchar();//防闪退
i=find_name(t,n,s);//调用find_neme()函数,得到姓名函数
if(i>n-1)//如果整数i大于n-1,表示说明没有找到
{
printf("没有姓名为%s的联系人!\n",s); //提示
}else{
print(t[i]);
}
}
/********************************修改联系人*************************/
void modify(STUDENTS t[],int n)
{
char num[20];//保存要修改信息的联系人
int i;
printf("请输入要修改的联系人手机号:\n");
scanf("%s",num);//输入号码
getchar();
i=find_no(t,n,num);//find_no函数调用
if(i>=n)//判断记录是否存在
{
printf("没有号码为%s的联系人!\n",num);
}else{
printf("号码为%s修改前的联系人信息:\n",num);
print(t[i]);
printf("联系人号码为%s修改信息:\n",num);
printf("学号 姓名 性别 年龄\n");
printf("-----------------------------\n");
scanf("%s",t[i].no);
scanf("%s",t[i].name);
scanf("%s",t[i].sex);
scanf("%d",&t[i].age);
getchar();
printf("联系人号码为%s修改后信息显示:\n",num);
print(t[i]);
}
}
/********************************保存通讯录*************************/
void save(STUDENTS t[],int n)
{
int i;
FILE *fp;//指向文件的指针
{
printf("无法打开联系人记录文件\n");//打开失败
exit(1);//退出
}
printf("\n正在保存中\n");
fprintf(fp,"%d",n);//将记录数写入文件
fprintf(fp,"\r\n");//将换行符写入到文件当中
fprintf(fp,"%s","学号姓名性别年龄");
fprintf(fp,"\r\n");
fprintf(fp,"%s","——————————————");
fprintf(fp,"\r\n");
for(i=0;i<n;i++)
{
fprintf(fp,"%-8s%-8s%-8s%-3d",t[i].no,t[i].name,t[i].sex,t[i].age);
fprintf(fp,"\r\n");
}
fprintf(fp,"%s","——————————————");
fclose(fp);//关闭
printf("*****联系人保存成功******");
}
/********************************删除联系人*************************/
int del(STUDENTS t[],int n)
{
char s[20];//存放待删除姓名
int i;
printf("请输入要删除的姓名:");
scanf("%s",s);
getchar();
i=find_name(t,n,s);//find_name()函数调用
if(i>n-1)
{
printf("没有姓名为%s的号码!\n",s);
}else{
printf("正在删除中...\n");
for(;i<n;i++){
strcpy(t[i].no,t[i+1].no);//用后面的覆盖前面的
strcpy(t[i].name,t[i+1].name);
strcpy(t[i].sex ,t[i+1].sex);
t[i].age,t[i+1].age;
}
n--;//删除后记录数减1
printf("删除成功!\n");
}
return n;
}
/********************************排序联系人*************************/
void sort(STUDENTS t[],int n)
{
int i,j,flag;
STUDENTS temp;//临时变量用于交换数组
for(i=0;i<n;i++)//交换排序的次数
{
flag=0;//设置标志位,用于判断是否发生交换
for(j=0;j<n-1-i;j++)//循环次数,冒泡法排序
{
if(strcmp(t[j].name,t[j+1].name)>0)
{
temp=t[j];
t[j]=t[j+1];
t[j+1]=temp;
flag++;
}
if(flag==0)break;//如果标志位为0,没有发生交换,循环结束
}
printf("排序成功!\n");
}
}
/***********************************退出****************************/
void main(){
STUDENTS stu[M];//定义结构体数组
int length;//保存记录长度
for(;;){//无限循环
system("cls");//清屏
switch(menu_select()){//函数调用
case 1:length=enter(stu);break; //新建联系人
case 2:list(stu,length);break;//查看联系人
case 3:search(stu,length);break;//按姓名查询
case 4:modify(stu,length);break;//修改联系人
case 5:save(stu,length);break;//保存到文件
case 6:length=del(stu,length);break;//按姓名删除
case 8:sort(stu,length);break;//按姓名排序
case 9:exit(0);//程序退出
}
printf("按回车键返回主菜单...\n");
getchar();
}return ;
}


  • bsod
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
没仔细看,但menu_select()中那个do循环肯定有不科学的地方,因为不管你输入什么它都直接return,根本不会去判正确性。


  • 丨蛋蛋de忧伤
  • 团子家族
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
dd


  • heart头痛
  • 大能力者
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
没有把<G:\通讯录\头文件.h>放在工程里吧。


2025-07-25 03:18:57
广告
不感兴趣
开通SVIP免广告
  • poooooob
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
你删除的时候并没有改变文件里面的数据


  • 丨蛋蛋de忧伤
  • 团子家族
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
dd


  • 丨蛋蛋de忧伤
  • 团子家族
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
有大神知道该怎么改吗这个礼拜就要交了


  • 39980094
  • 便当
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
typedef struct//定义数据结构
没名字的结构体?


  • _hyrz_
  • 团子家族
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
错误是连接错误,找不到函数定义,应该是头文件的包含有问题


  • fghhgrs
  • 大能力者
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
错误太多累死了


2025-07-25 03:12:57
广告
不感兴趣
开通SVIP免广告
  • fghhgrs
  • 大能力者
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
你代码发全了吗
感觉缺少带吗


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 18回复贴,共1页
<<返回c语言吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示