数学建模社区-数学中国
标题:
用c语言写一个通讯录,开贴可能会出现好些问题来求教
[打印本页]
作者:
蕾欧娜
时间:
2015-4-20 10:36
标题:
用c语言写一个通讯录,开贴可能会出现好些问题来求教
废话不多说,先放出第一个问题
, x, V/ q% c3 Z7 A+ M
代码:
# K, m' l% W5 K% j/ `7 n9 V4 w
#include "stdio.h"
& ?& l) ^% S3 H* W% ]
#include "conio.h"
d* g5 s( u5 n" _
#include "stdlib.h"
9 ^: K# o* A5 L% @9 o4 w
2 w3 d% e4 h7 m/ L4 n, E0 ~/ A4 L
int add_people();
* _6 K( v$ h+ S# c/ M% I
/*void check_people();
3 f% t& F5 Y1 j; L
void revise_people();
/ {: q _ g- f( s- V; V
void delete_people();*/
2 \7 n8 G5 e5 a$ @4 I8 W3 l
void save_exit();
! U% T1 _( f, c+ \! a5 K
k; A* X3 v1 T) x
- N* {9 b3 [5 z0 y
9 j, J# X, k# l' g
main()
$ l' v0 N w, s
{
8 u1 y# H' n& W$ S) E
int com; /* 定义com变量用作读取操作符*/
! ?% k5 ^. G, M5 W$ d5 W
printf("======================Welcome to Message manage system=========================\n");
0 {. e1 d6 \ i. l) R0 O4 F% Z
printf("\n");
2 q4 H- ~2 C7 x, Z
printf("===============1.Add contact people 2.Check contact people=================\n");
" {1 w; ^' _- |9 o' X
printf("\n");
2 R! p( K! x1 C4 _. k) \
printf("===============3.Revise contact people 4.Delete contact people================\n");
- [* h% W7 E6 P% Q0 u+ K0 h
printf("\n");
5 Y; [3 c* n/ f+ b! D5 ~- r) b
printf("============================ 5.Save&Exit======================================\n");
- o+ v& k8 g, `) e# N2 b
scanf("%d",&com);
! n( C- V' c! w6 |! X8 T
while(1)
a: G- v' t- i$ ^' y0 O
{
- U; ^' F) h" G
switch(com)
. G9 k3 f6 A& T5 l% [7 E* z h
{
6 x/ i$ P, [, \& U
case 1:add_people();break;
2 y% d4 m% K+ p6 U7 z/ ^' S0 v) ?
/*case 2:check_people();break;
4 u. m( q9 N0 g& Y$ h# y, f
case 3:revise_people();break;
4 r# u% |! J* U4 ]6 e: j
case 4:delete_people();break;*/
8 v0 w5 [* H& h" B+ f; M0 I9 a
case 5:save_exit();break;
: H; [4 i& T Y0 N% b; [
}
+ s/ F1 j* n6 I' Q, Q( N
}
7 m/ B% F$ ]" ^5 U, A6 R: `$ O4 d
+ L7 P' u# l" y' \: ]& S
1 w* g* V( j* \: E6 h
}
" C/ c" i* i) y
5 V4 \7 I( p/ n. i4 N' i1 W4 n
int add_people()
+ }' ]) l) B9 `" N" n
{
f+ N% p0 j* f! H
FILE *fp;
* ^) N ~1 f# J" j
char people,phone,filename[10],temp;
/ C* s( A$ C+ J! U) y: S/ ]; I
temp=78;
) y ? r8 a8 v+ u F% E; r% x5 `
while(1)
' S+ s+ a& I4 @8 R4 H0 d
{
" a- w& {' `$ ` S4 _* j! ~1 E) l& _
printf("输入要存储到的文件名\n");
$ K e; @+ | l/ d% G: s4 @0 i
scanf("%s",filename);
! d# n K1 r* ]& K
if((fp=fopen(filename,"w"))==NULL)
3 @/ J' @) [# U. Q* P
{
6 ?- Q; s( X! r' @( U
printf("无法打开\n");
3 W, e- S9 x# k/ z) F$ }
exit(0);
% [% T' F3 C8 _; j
}
a0 P" G5 V5 E' L8 R$ b" m! U6 q
loop: printf("请输入你要保存的联系人(以#结束)\n");
1 d# q% D5 [% G6 u0 |; k
people=getchar();
7 ]: {$ l- R, k* g% V9 |
while(people!='#')
4 T0 [4 v3 h: e. d; @, w
{
9 L8 K7 d4 R1 z, G1 M2 \
fputc(people,fp);
3 ~% b2 u' B5 Y5 D
putchar(people);
. \ k |, t7 f
people=getchar();
. @6 d$ C8 k6 j; D& ^! j, n z1 y% l
}
& R9 |! J& c( ?1 w4 W! i
printf("请输入要保存的联系人号码(以#结束)\n");
- T" c |. ^: Y& _ S# ?
phone=getchar();
0 o* L" n. _% I; c$ a) T) U
while(phone!='#')
6 T& B5 ?+ E# U" ]! ~8 E9 c
{
4 t' n! D3 {+ W6 k( V9 u$ ]+ V; v
fputc(phone,fp);
& V" }- \8 f( C8 U4 k, c
putchar(phone);
( N" i) c% H J, i! K) a
phone=getchar();
$ L9 g3 b/ k( ?5 }' b8 F$ B
}
; ]$ _3 p2 c7 E$ d: j6 N! N
putchar(10);
; o( C0 b1 D, z8 ~- W# r- w6 T
printf("是否继续添加联系人Y/N\n");
! W: r9 @# ]4 {& r. ^, \
scanf("%s",&temp);
7 w+ L0 {# ?6 P, y: r7 n$ ?* n+ f
if(temp=='n'||temp=='N')
4 B! q4 e8 Q, F9 u3 ]) V& `
{
* h+ g- ^; m% D# d: s: Z; G
printf("按下任意键返回主菜单\n");
# M" o' i, g% M$ i' ?
getchar();
% }+ K u+ S. V( Q" K8 ^
return 0;
) J5 Q$ c3 V. a7 ?, o' s z1 O
}else
3 |0 S7 [ k8 V0 g3 \. @8 F
goto loop;
6 m6 f: d% [3 b/ m. w0 _5 g U! Q/ ]
}
5 R$ \) k4 e+ S: ]0 p
fclose(fp);
' L; b" v+ l) D0 B% `( D
return 0;
9 r7 _) j9 ~- f: q
}
3 O _3 d! q! Q3 S7 r! L' r9 H
" W4 y0 }/ M9 E3 T
void save_exit()
! p+ E" C3 [# b4 }! l6 V+ u
{
; E ?6 F M: [( ?; X3 }
printf("按下任意键退出\n");
' f$ Y" |6 A$ E9 c
getchar();
2 Z# V* N/ N2 ]1 U/ v; L/ L
exit(0);
3 V6 p9 L U, w; W$ ]& |2 q
}
+ X0 G0 W( j, a7 p1 M+ s
问题是新建联系人后按n键我要返回到主函数进行继续选择,该怎么做?
; Q5 W) f0 u; S \# c; `2 g3 G
) y) p. W" `9 [6 \0 s" ^& ~/ g
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5