
main()
{
char ch
int letter=0,mun=0,other=0
printf("请输入几个字符串")
//scanf("%s",ch)
while((ch = getchar()) != '\n')
{
if(ch >='a'&&ch<='z'||ch>='A'&&ch<='Z')
letter++
else if(ch >='0' &&ch <= '9')
mun++
else
other++
}
printf("letter:%d\n", letter)
printf("munber:%d\n", mun)
printf("other:%d\n", other)
}
---------
这样就可以了,你的错误在以下几个方面
1.scanf("s%",ch)
是%s,不是s%;ch是字符型,不能输入字符串
2.else if(ch>='0'&&c<h='9')
c<h='9'这里写错了,应该是ch<='9'
3.没有输出,看不到结果
#include <stdio.h>#include <string.h>
int main()
{
int gg(int i)
int i
while(1){
i=0
printf(" 1.查看历史日程表\n")
printf(" 2.输入新的日程表\n")
printf(" 3.查看已完成的日程表\n")
printf(" 4.查看未完成的日程表\n")
printf(" 5.退出登录\n")
printf(" 请选择相应序号: ")
scanf("%d",&i)
if(i==5){
break
}
gg(i)
printf("\n")
printf("\n")
printf("\n")
}
}
int gg(int i){
int aa()
int bb()
int cc()
int dd()
switch(i){
case 1:
aa()break
case 2:
bb()break
case 3:
cc()break
case 4:
dd()break
}
}
int aa(){
FILE*fp
int length=1000
char str[1001]
if((fp=fopen("11s.txt","r"))==NULL){
printf("无文件")
return 0
}
while(fgets(str,length,fp)!=NULL){
printf("%s",str)}
return 1
fclose(fp)
}
int bb(){
FILE*fp
char str[400]
printf("内容如下:\n")
scanf("%s",str)
if((fp=fopen("11s.txt","a+"))==NULL){
printf("文件不存在")
return 0
}
fputs("\n",fp)
fputs(str,fp)
printf("加入成功")
fclose(fp)
return 1
}
int cc(){
FILE*fp
int length=1000
char str[1001]
printf("内容如下:\n")
if((fp=fopen("11s.txt","r"))==NULL){
printf("无文件")
return 0
}
while(fgets(str,length,fp)!=NULL){
if(strstr(str,"已完成")!=NULL){
printf("%s",str)
}
}
fclose(fp)
return 1
}
int dd(){
FILE*fp
int lenght=1000
char str[1001]
printf("内容如下:\n")
if((fp=fopen("11s.txt","r"))==NULL){
printf("无文件")
return 0
}
while(fgets(str,lenght,fp)!=NULL){
if(strstr(str,"未完成")!=NULL){
printf("%s",str)
}
}
fclose(fp)
return 1
}
62:警告:act的前一隐式声明66:警告:act隐式声明为返回int类型
(这两警告的原因是编译器在调用函数时
没找到函数原型,所以隐式认为函数返回整形。
在调用函数之前声明一下函数即可
避免这类问题。)
84:break语句不在循环或switch语句内
97:1:警告:文件结尾处没有换行字符
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)