elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: Agenda telefonica en: 1 Junio 2020, 23:37 pm
depsues de mucho intentos tuve que modificar y empezar de nuevo el codigo para tenerlo mas claro, pero ahora el problema es que no se guardan los contactos, solo guarda el ultimo y en la opción dos de modificar en el listado de numeros guardados solo aparece el ultimo ingresado no los demás
Código
  1. include<stdio.h>
  2. #include<conio.h>
  3.  
  4. struct contacto
  5. {
  6. int Numero_registrado, activo;
  7. long int tel;
  8. char nom[10],AP[10],AM[10],correo[20], empresa[30],puesto[15],sito_web[30],notas[30];
  9. }contact[30];
  10. int no_reg=0;
  11.  
  12.  
  13. int main()
  14. {
  15.  
  16. }
  17. menu()
  18. {
  19. int opc;
  20.        printf("Elija una opcion.\n");
  21. printf("1. Crear Contacto\n");
  22. printf("2. Actualizar Contacto\n");
  23. printf("3. Eliminar Contacto\n");
  24. printf("4. Salir\n");
  25. scanf("%d", &opc);
  26. while(opc<1||opc>4)
  27. {
  28. printf("\a\n\t\tERROR\n");
  29. system("pause");
  30. system("cls");
  31.        printf("Elija una opcion.\n");
  32. printf("1. Crear Contacto\n");
  33. printf("2. Actualizar Contacto\n");
  34. printf("3. Eliminar Contacto\n");
  35. printf("4. Salir\n");
  36. scanf("%d", &opc);
  37. fflush(stdin);
  38. }
  39. system("cls");
  40. switch(opc)
  41. {
  42. case 1:
  43. CrearContacto();
  44. break;
  45. case 2:
  46. ActualizarContacto();
  47. break;
  48. case 3:
  49. EliminarContacto();
  50. break;
  51. case 4:
  52. return 0;
  53. break;
  54. }
  55. }
  56.  
  57. CrearContacto()
  58.  
  59.  
  60. {
  61. int crear;
  62.  
  63. printf("AGREGAR CLIENTE\n\n");
  64. contact[no_reg].activo=1;
  65. contact[no_reg].Numero_registrado= no_reg+1;
  66. printf("Ingrese el telefono (a 8 digitos): ");
  67. scanf("%ld",&contact[no_reg].tel);
  68. fflush(stdin);
  69. printf("\n\t\t*EL NUMERO DE TELEFONO HA SIDO REGISTRADO CORRECTAMENTE*\n");
  70. printf("\nIngrese el apellido paterno: ");
  71. gets(contact[no_reg].AP);
  72. fflush(stdin);
  73. strupr(contact[no_reg].AP);
  74. printf("Ingrese el appelido materno: ");
  75. gets(contact[no_reg].AM);
  76. fflush(stdin);
  77. strupr(contact[no_reg].AM);
  78. printf("Ingrese el nombre: ");
  79. gets(contact[no_reg].nom);
  80. fflush(stdin);
  81. strupr(contact[no_reg].nom);
  82. printf("Ingrese el E-mail: ");
  83. gets(contact[no_reg].correo);
  84. fflush(stdin);
  85. strupr(contact[no_reg].correo);
  86. printf("Ingrese su sitio web: ");
  87. gets(contact[no_reg].sito_web);
  88. fflush(stdin);
  89. strupr(contact[no_reg].sito_web);
  90. printf("Ingrese su puesto: ");
  91. gets(contact[no_reg].puesto);
  92. fflush(stdin);
  93. strupr(contact[no_reg].puesto);
  94. printf("Ingrese el nombre de la empresa: ");
  95. gets(contact[no_reg].empresa);
  96. fflush(stdin);
  97. strupr(contact[no_reg].empresa);
  98. printf("Ingrese alguna nota: ");
  99. gets(contact[no_reg].notas);
  100. fflush(stdin);
  101. strupr(contact[no_reg].notas);
  102.  
  103. system("cls");
  104. printf("Los Datos Registrados son: \n");
  105. printf("\n\nTelefono: ");
  106. printf("%ld",contact[no_reg].tel);
  107. printf("\nNumero de registo del cliente: %d\n",contact[no_reg].Numero_registrado);
  108. printf("Apellido paterno:");
  109. puts(contact[no_reg].AP);
  110. printf("Apellido materno:");
  111. puts(contact[no_reg].AM);
  112. printf("Nombre del cliente:");
  113. puts(contact[no_reg].nom);
  114. printf("E-mail:");
  115. puts(contact[no_reg].correo);
  116. printf("Sitio web:");
  117. puts(contact[no_reg].sito_web);
  118. printf("Nota:");
  119. puts(contact[no_reg].notas);
  120. printf("Empresa:");
  121. puts(contact[no_reg].empresa);
  122. printf("Puesto:");
  123. puts(contact[no_reg].puesto);
  124. printf("\n\n¿Desea agregar otro contacto?:    ");
  125.    printf("2)Si.");
  126. printf("1)No.\n");
  127. scanf("%d",&crear);
  128. system("cls");
  129.  
  130.  
  131. while(crear<1||crear>2)
  132. {
  133. printf("\a\t\tERROR\n");
  134. system("pause");
  135. system("cls");
  136. printf("\nEL telefono: ");
  137. printf("%ld",contact[no_reg].tel);
  138. printf("El El numero de registro del cliente es: %d\n",contact[no_reg].Numero_registrado);
  139. printf("El apellido paterno es:\n");
  140. puts(contact[no_reg].AP);
  141. printf("El apellido materno es:\n");
  142. puts(contact[no_reg].AM);
  143. printf("El nombre del cliente es:\n");
  144. puts(contact[no_reg].nom);
  145. printf("El correo es:\n");
  146. puts(contact[no_reg].correo);
  147. printf("El sitio web es:\n");
  148. puts(contact[no_reg].sito_web);
  149. printf("Nota:\n");
  150. puts(contact[no_reg].notas);
  151. printf("La empresa es:\n");
  152. puts(contact[no_reg].empresa);
  153. printf("El puesto es:\n");
  154. puts(contact[no_reg].puesto);
  155.     printf("\n\n¿Desea agregar otro contacto?:    ");
  156.        printf("2)Si.");
  157.     printf("    1)No.\n");
  158. scanf("%d",&crear);
  159. system("cls");
  160. }
  161. if(crear==1)
  162. {
  163. printf("\nLOS DATOS HAN SIDO REGISTRADOS CORRECTAMENTE");
  164. no_reg++;
  165. printf("\n");
  166. menu();
  167. }
  168. else
  169. {
  170. CrearContacto();
  171. }
  172. }
  173. ActualizarContacto()
  174. {
  175. int m,i;
  176. long int telefono;
  177. printf("\nACTUALIZAR CONTACTO\n");
  178. printf("\n\n\t\t\tCONTACTOS EXISTENTES\n\t");
  179. printf("\tTELEFONO\t\tNOMBRE\n\t\t");
  180. for(i=0;i<50;i++)
  181. {
  182. if(contact[i].activo==1)
  183. {
  184. printf("%lld",contact[i].tel);
  185. printf("\t\t%s",contact[i].nom);
  186. }
  187. }
  188. printf("\n\nIngrese el telefono del contacto a actualizar\n");
  189. scanf("%lld",&telefono);
  190. fflush(stdin);
  191. system("cls");
  192. for(i=0;i<50;i++)
  193. {
  194. m=0;
  195. if(telefono==contact[i].tel)
  196. {
  197. printf("\n\n\t\t\tCONTACTO ENCONTRADO\n\n\n\n\n\n\n");
  198. system("pause");
  199. system("cls");
  200. printf("\nEL telefono: ");
  201. printf("%lld",contact[i].tel);
  202. printf("\n\nEl Id del cliente es: %d\n",contact[no_reg].Numero_registrado);
  203. printf("\n\nEl apellido paterno es:\n");
  204. puts(contact[i].AP);
  205. printf("\n\nEl apellido materno es:\n");
  206. puts(contact[i].AM);
  207. printf("\n\nEl nombre del cliente es:\n");
  208. puts(contact[i].nom);
  209. printf("\n\nEl correo es:\n");
  210. puts(contact[i].correo);
  211. printf("\n\nEl sitio web es:\n");
  212. puts(contact[i].sito_web);
  213. printf("\n\nNota:\n");
  214. puts(contact[i].notas);
  215. printf("\n\nLa empresa es:\n");
  216. puts(contact[i].empresa);
  217. printf("\n\nEl puesto es:\n");
  218. puts(contact[i].puesto);
  219. system("pause");
  220. system("cls");
  221. ActualizarC(i);
  222. break;
  223. }
  224. else
  225. {
  226. m=1;
  227. }
  228. }
  229. if(m==1)
  230. {
  231. printf("\n\n\t\t\tTELEFONO NO ENCONTRADO\n\n\n\n\n\n\n");
  232. system("pause");
  233. system("cls");
  234. menu();
  235. }
  236. }
  237. ActualizarC(int i)
  238. {
  239. int x,y;
  240. printf("\n\n\t\t\tACTUALIZAR CLIENTE\n\n\n\n\n\n\n");
  241. system("pause");
  242. system("cls");
  243. fflush(stdin);
  244. printf("Ingrese el telefono (celular de 10 digitos o local + lada): ");
  245. scanf("%lld",&contact[i].tel);
  246. fflush(stdin);
  247. printf("\t\t\t\n\n\n\nCONTACTO REGISTRADO\n\n\n");
  248. //apellido paterno
  249. printf("Ingrese el apellido paterno: ");
  250. gets(contact[i].AP);
  251. fflush(stdin);
  252. strupr(contact[i].AP);
  253. //apellido materno
  254. printf("Ingrese el appelido materno: ");
  255. gets(contact[i].AM);
  256. fflush(stdin);
  257. strupr(contact[i].AM);
  258. //nombre
  259. printf("Ingrese el nombre: ");
  260. gets(contact[i].nom);
  261. fflush(stdin);
  262. strupr(contact[i].nom);
  263. //correo
  264. printf("Ingrese el correo: ");
  265. gets(contact[i].correo);
  266. fflush(stdin);
  267. strupr(contact[i].correo);
  268. //sitio web
  269. printf("Ingrese su sitio web: ");
  270. gets(contact[i].sito_web);
  271. fflush(stdin);
  272. strupr(contact[i].sito_web);
  273. //puesto
  274. printf("Ingrese su puesto: ");
  275. gets(contact[i].puesto);
  276. fflush(stdin);
  277. strupr(contact[i].puesto);
  278. //empresa
  279. printf("Ingrese el nombre de la empresa: ");
  280. gets(contact[i].empresa);
  281. fflush(stdin);
  282. strupr(contact[i].empresa);
  283. //notas
  284. printf("Ingrese alguna nota: ");
  285. gets(contact[i].notas);
  286. fflush(stdin);
  287. strupr(contact[no_reg].notas);
  288.  
  289. //Imprimir datos
  290. system("cls");
  291. printf("\nEL telefono: ");
  292. printf("%lld",contact[i].tel);
  293. printf("\n\nEl Id del cliente es: %d\n",contact[i].Numero_registrado);
  294. printf("\n\nEl apellido paterno es:\n");
  295. puts(contact[i].AP);
  296. printf("\n\nEl apellido materno es:\n");
  297. puts(contact[i].AM);
  298. printf("\n\nEl nombre del cliente es:\n");
  299. puts(contact[i].nom);
  300. printf("\n\nEl correo es:\n");
  301. puts(contact[i].correo);
  302. printf("\n\nEl sitio web es:\n");
  303. puts(contact[i].sito_web);
  304. printf("\n\nNota:\n");
  305. puts(contact[i].notas);
  306. printf("\n\nLa empresa es:\n");
  307. puts(contact[i].empresa);
  308. printf("\n\nEl puesto es:\n");
  309. puts(contact[i].puesto);
  310. //verificar datos
  311. printf("\n\n\t\tIngrese:\n\n\t1)Si los datos son correctos.\n\t2)Si los datos son incorrectos.");
  312. scanf("%d",&x);
  313. system("cls");
  314. while(x<1||x>2)
  315. {
  316. printf("\n\t\t\tERROR\n\n");
  317. system("pause");
  318. system("cls");
  319. printf("\n\nEL telefono:\n");
  320. printf("%lld",contact[i].tel);
  321. printf("\n\nEl Id del cliente es: %d\n",contact[i].Numero_registrado);
  322. printf("\n\nEl apellido paterno es:\n");
  323. puts(contact[i].AP);
  324. printf("\n\nEl apellido materno es:\n");
  325. puts(contact[i].AM);
  326. printf("\n\nEl nombre del cliente es:\n");
  327. puts(contact[i].nom);
  328. printf("\n\nEl correo es:\n");
  329. puts(contact[i].correo);
  330. printf("\n\nEl sitio web es:\n");
  331. puts(contact[i].sito_web);
  332. printf("\n\nNota:\n");
  333. puts(contact[i].notas);
  334. printf("\n\nLa empresa es:\n");
  335. puts(contact[i].empresa);
  336. printf("\n\nEl puesto es:\n");
  337. puts(contact[i].puesto);
  338. //verificar datos
  339. printf("\n\n\t\tIngrese:\n\n\t1)Si los datos son correctos.\n\t2)Si los datos son incorrectos.");
  340. scanf("%d",&x);
  341. system("cls");
  342. }
  343. if(x==1)
  344. {
  345. system("cls");
  346. printf("\n\t\t\tCONTACTO ACTUALIZADO");
  347. menu();
  348. }
  349. else
  350. {
  351. ActualizarC(i);
  352. }
  353. }
  354. EliminarContacto()
  355. {
  356. int x,i,m,y;
  357. long long int telefono;
  358. printf("\n\n\t\t\tELIMINAR CONTACTO\n\n\n\n\n\n\n");
  359. system("pause");
  360. system("cls");
  361. printf("\n\n\t\t\tCONTACTOS EXISTENTES\n\t");
  362. printf("\tTELEFONO\t\tNOMBRE\n\t\t");
  363. for(i=0;i<50;i++)
  364. {
  365. if(contact[i].activo==1)
  366. {
  367. printf("%lld",contact[i].tel);
  368. printf("\t\t%s",contact[i].nom);
  369. }
  370. }
  371. printf("\t\nINGRESE EL TELEFONO DEL CONTACTO A ELIMINAR\n\n");
  372. scanf("%lld",&telefono);
  373. fflush(stdin);
  374. system("cls");
  375. for(i=0;i<50;i++)
  376. {
  377. m=0;
  378. if(telefono==contact[i].tel)
  379. {
  380. printf("\n\n\t\t\tCONTACTO ENCONTRADO\n\n\n\n\n\n\n");
  381. system("pause");
  382. system("cls");
  383. printf("\n\nEL telefono:\n");
  384. printf("%lld",contact[i].tel);
  385. printf("\n\nEl Id del cliente es: %d\n",contact[i].Numero_registrado);
  386. printf("\n\nEl apellido paterno es:\n");
  387. puts(contact[i].AP);
  388. printf("\n\nEl apellido materno es:\n");
  389. puts(contact[i].AM);
  390. printf("\n\nEl nombre del cliente es:\n");
  391. puts(contact[i].nom);
  392. printf("\n\nEl correo es:\n");
  393. puts(contact[i].correo);
  394. printf("\n\nEl sitio web es:\n");
  395. puts(contact[i].sito_web);
  396. printf("\n\nNota:\n");
  397. puts(contact[i].notas);
  398. printf("\n\nLa empresa es:\n");
  399. puts(contact[i].empresa);
  400. printf("\n\nEl puesto es:\n");
  401. puts(contact[i].puesto);
  402. system("pause");
  403. system("cls");
  404. printf("\nSeguro que desea eliminar este contacto?\n1)Seguro.\n2)No estoy seguro\n");
  405. scanf("%d",&y);
  406. if(y=1)
  407. {
  408. BorrarC(i);
  409. break;
  410. }
  411. else
  412. {
  413. menu();
  414. }
  415. }
  416. else
  417. {
  418. m=1;
  419. }
  420. }
  421. if(m==1)
  422. {
  423. printf("\n\n\t\t\tTELEFONO NO ENCONTRADO\n\n\n\n\n\n\n");
  424. system("pause");
  425. system("cls");
  426. menu();
  427. }
  428. }
  429. BorrarC(int i)
  430. {
  431. printf("\n\n\t\t\tELIMINAR CLIENTE\n\n\n\n\n\n\n");
  432. system("pause");
  433. system("cls");
  434. contact[i].activo=0;
  435. printf("\n\n\t\t\tCLIENTE ELIMINADO\n\n\n\n\n\n\n");
  436. system("pause");
  437. system("cls");
  438. menu();
  439. }
  440.  
  441.  




2  Programación / Programación C/C++ / Agenda telefonica en: 1 Junio 2020, 10:33 am
Hola, ayudenme por favor, tengo que modificar un numero de contacto en el case 2 aportando el numero telefonico (contactos[count].tel) en el case 1 ya lo tengo pero no se como poder modificarlo en el case 2, como lo pido y lo edito si esta guarado en contactos[count].tel, he tartado pero no me sale llego asta ahí, suponiendo que tengo muchos numeros y el programa lo tiene que buscar luego modificar, en el case 1 tambien tengo que agregar si deseo poner otro contacto mas, soy nueva programando y no entiendo muy bien :(  :-(

Código
  1. int main()
  2. {
  3. int count;
  4. int i = 0;
  5. int opc, telefono;
  6.  
  7. do
  8. {
  9. system("cls");
  10. printf("PIA\n");
  11. printf("Programa para hacer una agenda usando Archivos\n");
  12. printf("Elija una opcion.\n");
  13. printf("1. Crear Contacto\n");
  14. printf("2. Actualizar Contacto\n");
  15. printf("3. Eliminar Contacto\n");
  16. printf("4. Salir\n");
  17. scanf("%d", &opc);
  18.  
  19. switch(opc)
  20. {
  21. case 1:
  22. {
  23. system("cls");
  24.  
  25. printf("Escriba '0' si no quiere escribir algo.\n");
  26. printf("Telefono : ");
  27. scanf("%d", &contactos[count].tel);
  28. printf("Apellido Paterno: ");
  29. fflush(stdin);
  30. scanf("%[^\n]", &contactos[count].AP);
  31. printf("Apellido Materno: ");
  32. fflush(stdin);
  33. scanf("%[^\n]", &contactos[count].AM);
  34. printf("Nombre (usa '_' para separar nombres): ");
  35. fflush(stdin);
  36. scanf("%[^\n]", &contactos[count].Nombre);
  37. printf("Telefono fijo: ");
  38. fflush(stdin);
  39. fflush(stdin);
  40. scanf("%[^\n]", &contactos[count].email);
  41. printf("Sitio web: ");
  42. fflush(stdin);
  43. scanf("%[^\n]", &contactos[count].sitio_web);
  44. printf("Notas (usa '_' para separar palabras): ");
  45. fflush(stdin);
  46. scanf("%[^\n]", &contactos[count].Notas);
  47. printf("Empresa (usa '_' para separar palabras): ");
  48. fflush(stdin);
  49. scanf("%[^\n]", &contactos[count].Empresa);
  50. printf("Cargo (usa '_' para separar palabras): ");
  51. fflush(stdin);
  52. scanf("%[^\n]", &contactos[count].Cargo);
  53.  
  54. pf = fopen("Archivo.BIN", "at");
  55. if(pf == NULL)
  56. {
  57. printf("\nNo se pudo abrir el archivo.");
  58. getch();
  59. return -1;
  60. }
  61.  
  62.  
  63. fprintf(pf, "%s ", contactos[count].Nombre);
  64. fprintf(pf, "%s ", contactos[count].AP);
  65. fprintf(pf, "%s ", contactos[count].AM);
  66. fprintf(pf, "%ld ", contactos[count].tel);
  67. fprintf(pf, "%s ", contactos[count].email);
  68. fprintf(pf, "%s ", contactos[count].sitio_web);
  69. fprintf(pf, "%s ", contactos[count].Notas);
  70. fprintf(pf, "%s ", contactos[count].Empresa);
  71. fprintf(pf, "%s\n", contactos[count].Cargo);
  72. fclose(pf);
  73.  
  74. printf("\nContacto agregado correctamente.\n");
  75. printf("Este es el numero de contacto guardado %d.", contactos[count].tel);
  76. getch();
  77. break;
  78. }
  79. case 2:
  80. {
  81. system("cls");
  82.  
  83. printf("Inserte el numero del contacto a modificar: ");
  84. fflush(stdin);
  85. scanf("%ld", &telefono);


MOD: Utiliza etiquetas de Código GeSHi para colocar fragmentos de código
3  Programación / Programación C/C++ / Punteros en: 29 Mayo 2020, 02:18 am
Estoy estudiando punteros y no entiendo muy bien, alguien me puede decir como se realizan estos programas?

.-Realice un programa que tenga una función que mediante apuntadores pueda transformar un
número entero en una cadena de caracteres formada por los dígitos del número entero.

.-Empleando apuntadores escribir un programa que lea una línea de texto y escriba en pantalla
las palabras de que consta la línea sin utilizar las funciones de string.h y particularmente sin usar
strtok ().
4  Programación / Programación C/C++ / Ayuda en: 27 Mayo 2020, 18:55 pm
Alguien sabe como en el case 2 puede modificar el contacto ingresando el numero telefonico local
Código
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <string.h>
  4.  
  5. #define MAX 256
  6.  
  7. struct agenda
  8. {
  9. int Num_Contacto;
  10. char AP[20];
  11. char AM[20];
  12. char Nombre[20];
  13. double tel[8];
  14. double cel[8];
  15. char email[50];
  16. char sitio_web[50];
  17. char Notas[30];
  18. char Empresa[20];
  19. char Cargo[10];
  20. };
  21. struct agenda contactos[MAX];
  22.  
  23. int main()
  24. {
  25. int count;
  26. int i = 0;
  27. int resp, opc, opc2, opc3;
  28.  
  29. while (opc != 4){
  30. system("cls");
  31. printf("PIA\n");
  32. printf("Programa para hacer una agenda usando Archivos\n");
  33. printf("Elija una opcion.\n");
  34. printf("1. Crear Contacto\n");
  35. printf("2. Actualizar Contacto\n");
  36. printf("3. Eliminar Contacto\n");
  37. printf("4. Salir\n");
  38. scanf("%d", &opc);
  39.  
  40. switch(opc)
  41. {
  42. case 1:
  43. {
  44. system("cls");
  45. do{
  46. printf("Escriba '0' si no quiere escribir algo.\n");
  47. printf("Apellido Paterno: ");
  48. fflush(stdin);
  49. scanf("%[^\n]", &contactos[count].AP);
  50. printf("Apellido Materno: ");
  51. fflush(stdin);
  52. scanf("%[^\n]", &contactos[count].AM);
  53. printf("Nombre (usa '_' para separar nombres): ");
  54. fflush(stdin);
  55. scanf("%[^\n]", &contactos[count].Nombre);
  56. printf("Telefono fijo con lada: ");
  57. fflush(stdin);
  58. scanf("%llu", &contactos[count].tel);
  59. printf("Telefono celular: ");
  60. fflush(stdin);
  61. scanf("%llu", &contactos[count].cel);
  62. printf("Correo electronico: ");
  63. fflush(stdin);
  64. scanf("%[^\n]", &contactos[count].email);
  65. printf("Sitio web: ");
  66. fflush(stdin);
  67. scanf("%[^\n]", &contactos[count].sitio_web);
  68. printf("Notas (usa '_' para separar palabras): ");
  69. fflush(stdin);
  70. scanf("%[^\n]", &contactos[count].Notas);
  71. printf("Empresa (usa '_' para separar palabras): ");
  72. fflush(stdin);
  73. scanf("%[^\n]", &contactos[count].Empresa);
  74. printf("Cargo (usa '_' para separar palabras): ");
  75. fflush(stdin);
  76. scanf("%[^\n]", &contactos[count].Cargo);
  77. contactos[count].Num_Contacto = count;
  78. system("cls");
  79. printf( "\nEl numero de contacto guardado es: %d\n ", contactos[count].Num_Contacto);
  80. printf( "Nombre(s): %s\n ", contactos[count].Nombre);
  81. printf( "Apellido Paterno: %s\n ", contactos[count].AP);
  82. printf( "Apellido Materno: %s\n", contactos[count].AM);
  83. printf("Numero de telefono local: %llu\n ", contactos[count].tel);
  84. printf( "Numero de telefono celular: %llu\n ", contactos[count].cel);
  85. printf( "E-mail: %s\n ", contactos[count].email);
  86. printf( "Sitio web: %s\n ", contactos[count].sitio_web);
  87. printf( "Notas: %s\n ", contactos[count].Notas);
  88. printf( "Empresa: %s\n ", contactos[count].Empresa);
  89. printf( "Cargo: %s\n", contactos[count].Cargo);
  90. printf("\nContacto agregado correctamente.\n");
  91. printf("Este es el contacto numero: %d.", contactos[count].tel);
  92. getch();
  93. printf("\n¿Desea agregar otro contacto?\n SI=1   NO=0\n");
  94. scanf("%d",&resp);
  95.    }while(resp!=0);
  96.    getch();
  97. break;
  98. }
  99. case 2:
  100. {
  101. system("cls");
  102. do
  103. {
  104. printf("Inserte el numero del contacto a modificar: ");
  105. fflush(stdin);
  106. scanf("%d", &opc2);
  107. }while(opc2 < 1 || opc2 > 255);
  108.  
  109.  
  110. for(i = 1; i <= count; i++)
  111. {
  112. if(contactos[i].Num_Contacto == opc2)
  113. {
  114. printf("\nNombre: %s %s %s", contactos[opc2].Nombre, contactos[opc2].AP, contactos[opc2].AM);
  115. printf("\nTelefono fijo: %d", contactos[opc2].tel);
  116. printf("\nTelefono celular: %d", contactos[opc2].cel);
  117. printf("\nE-mail: %s", contactos[opc2].email);
  118. printf("\nSitio Web: %s", contactos[opc2].sitio_web);
  119. printf("\nNotas: %s", contactos[opc2].Notas);
  120. printf("\nEmpresa: %s", contactos[opc2].Empresa);
  121. printf("\nCargo: %s", contactos[opc2].Cargo);
  122.  
  123. do
  124. {
  125. printf("\n\nEsta seguro de que quiere modificar este contacto? (1. Si, 2. No): ");
  126. fflush(stdin);
  127. scanf("%d", &opc3);
  128. }while(opc3 < 1 || opc3 > 2);
  129.  
  130. if(opc3 == 1)
  131. {
  132. printf("Escriba '0' si no quiere escribir algo.\n");
  133. printf("Apellido Paterno: ");
  134. fflush(stdin);
  135. scanf("%[^\n]", &contactos[opc2].AP);
  136. printf("Apellido Materno: ");
  137. fflush(stdin);
  138. scanf("%[^\n]", &contactos[opc2].AM);
  139. printf("Nombre (usa '_' para separar nombres): ");
  140. fflush(stdin);
  141. scanf("%[^\n]", &contactos[opc2].Nombre);
  142. printf("Telefono fijo: ");
  143. fflush(stdin);
  144. scanf("%d", &contactos[opc2].tel);
  145. printf("Telefono celular: ");
  146. fflush(stdin);
  147. scanf("%d", &contactos[opc2].cel);
  148. printf("Correo electronico: ");
  149. fflush(stdin);
  150. scanf("%[^\n]", &contactos[opc2].email);
  151. printf("Sitio web: ");
  152. fflush(stdin);
  153. scanf("%[^\n]", &contactos[opc2].sitio_web);
  154. printf("Notas (usa '_' para separar palabras): ");
  155. fflush(stdin);
  156. scanf("%[^\n]", &contactos[opc2].Notas);
  157. printf("Empresa (usa '_' para separar palabras): ");
  158. fflush(stdin);
  159. scanf("%[^\n]", &contactos[opc2].Empresa);
  160. printf("Cargo (usa '_' para separar palabras): ");
  161. fflush(stdin);
  162. scanf("%[^\n]", &contactos[opc2].Cargo);
  163.  
  164. pf = fopen("Archivo.BIN", "wt");
  165. if(pf == NULL)
  166. {
  167. printf("\nError al abrir el archivo.");
  168. getch();
  169. return -1;
  170. }
  171. for(i = 1; i <= count; i++)
  172. {
  173. fprintf(pf, "%d ", contactos[i].Num_Contacto);
  174. fprintf(pf, "%s ", contactos[i].Nombre);
  175. fprintf(pf, "%s ", contactos[i].AP);
  176. fprintf(pf, "%s ", contactos[i].AM);
  177. fprintf(pf, "%d ", contactos[i].tel);
  178. fprintf(pf, "%d ", contactos[i].cel);
  179. fprintf(pf, "%s ", contactos[i].email);
  180. fprintf(pf, "%s ", contactos[i].sitio_web);
  181. fprintf(pf, "%s ", contactos[i].Notas);
  182. fprintf(pf, "%s ", contactos[i].Empresa);
  183. fprintf(pf, "%s\n", contactos[i].Cargo);
  184. }
  185. fclose(pf);
  186.  
  187. printf("\nContacto modificado correctamente.");
  188. getch();
  189. }
  190. break;
  191. }
  192. else
  193. {
  194. if(i == count)
  195. {
  196. printf("\nNo se encontro el contacto.");
  197. getch();
  198. break;
  199. }
  200. }
  201. }
  202. break;
  203. }
  204. case 3:
  205. {
  206. system("cls");
  207. do
  208. {
  209. printf("Inserte el numero del contacto a eliminar: ");
  210. fflush(stdin);
  211. scanf("%d", &opc2);
  212. }while(opc2 < 1 || opc2 > 255);
  213.  
  214. for(i = 1; i <= count; i++)
  215. {
  216. if(contactos[i].Num_Contacto == opc2)
  217. {
  218. printf("\nNombre: %s %s %s", contactos[opc2].Nombre, contactos[opc2].AP, contactos[opc2].AM);
  219. printf("\nTelefono fijo: %d", contactos[opc2].tel);
  220. printf("\nTelefono celular: %d", contactos[opc2].cel);
  221. printf("\nE-mail: %s", contactos[opc2].email);
  222. printf("\nSitio Web: %s", contactos[opc2].sitio_web);
  223. printf("\nNotas: %s", contactos[opc2].Notas);
  224. printf("\nEmpresa: %s", contactos[opc2].Empresa);
  225. printf("\nCargo: %s", contactos[opc2].Cargo);
  226.  
  227. do
  228. {
  229. printf("\n\nEsta seguro de que quiere eliminar este contacto? (1. Si, 2. No): ");
  230. fflush(stdin);
  231. scanf("%d", &opc3);
  232. }while(opc3 < 1 || opc3 > 2);
  233.  
  234. if(opc3 == 1)
  235. {
  236. for(i = opc2; i <= count; i++)
  237. {
  238. contactos[i].Num_Contacto = contactos[i+1].Num_Contacto;
  239. contactos[i].Num_Contacto = contactos[i].Num_Contacto - 1;
  240. strcpy(contactos[i].Nombre, contactos[i+1].Nombre);
  241. strcpy(contactos[i].AP, contactos[i+1].AP);
  242. strcpy(contactos[i].AM, contactos[i+1].AM);
  243. contactos[i].tel = contactos[i+1].tel;
  244. contactos[i].cel = contactos[i+1].cel;
  245. strcpy(contactos[i].email, contactos[i+1].email);
  246. strcpy(contactos[i].sitio_web, contactos[i+1].sitio_web);
  247. strcpy(contactos[i].Notas, contactos[i+1].Notas);
  248. strcpy(contactos[i].Empresa, contactos[i+1].Empresa);
  249. strcpy(contactos[i].Cargo, contactos[i+1].Cargo);
  250. }
  251. count = count - 1;
  252.  
  253. pf = fopen("Archivo.BIN", "wt");
  254. if(pf == NULL)
  255. {
  256. printf("\nError al abrir el archivo.");
  257. getch();
  258. return -1;
  259. }
  260. for(i = 1; i <= count; i++)
  261. {
  262. fprintf(pf, "%d ", contactos[i].Num_Contacto);
  263. fprintf(pf, "%s ", contactos[i].Nombre);
  264. fprintf(pf, "%s ", contactos[i].AP);
  265. fprintf(pf, "%s ", contactos[i].AM);
  266. fprintf(pf, "%d ", contactos[i].tel);
  267. fprintf(pf, "%d ", contactos[i].cel);
  268. fprintf(pf, "%s ", contactos[i].email);
  269. fprintf(pf, "%s ", contactos[i].sitio_web);
  270. fprintf(pf, "%s ", contactos[i].Notas);
  271. fprintf(pf, "%s ", contactos[i].Empresa);
  272. fprintf(pf, "%s\n", contactos[i].Cargo);
  273. }
  274. fclose(pf);
  275.  
  276. printf("\nContacto eliminado correctamente.");
  277. getch();
  278. break;
  279. }
  280. }
  281. else
  282. {
  283. if(i == count)
  284. {
  285. printf("\nNo se encontro el contacto.");
  286. getch();
  287. break;
  288. }
  289. }
  290. }
  291. break;
  292. }
  293. case 4:
  294. {
  295. system("cls");
  296. printf("Gracias por usar esta agenda.");
  297. getch();
  298. break;
  299. }
  300. default:
  301. {
  302. printf("Inserte otra opcion.");
  303. getch();
  304. break;
  305. }
  306. }
  307.  
  308. }while (opc != 4);
  309.  
  310. return 0;
  311. }


MOD: Código adaptado al uso de etiquetas de Código GeSHi
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines