Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C เก็บเลขคู่ คี่ และเฉพาะเป็นไฟล์แยกกัน


ไฟล์คือตำแหน่งหน่วยเก็บข้อมูลจริงบนดิสก์ และไดเร็กทอรีเป็นพาธแบบลอจิคัลที่ใช้ในการจัดระเบียบไฟล์ มีไฟล์อยู่ภายในไดเร็กทอรี

การดำเนินการสามอย่างที่เราสามารถทำได้ในไฟล์มีดังนี้ -

  • เปิดไฟล์
  • ไฟล์ประมวลผล (อ่าน เขียน แก้ไข)
  • บันทึกและปิดไฟล์

โปรแกรม

ต่อไปนี้เป็นโปรแกรม C เพื่อ เก็บเลขคู่ คี่ และจำนวนเฉพาะลงในไฟล์แยกกัน

#include <stdio.h>
#include <stdlib.h>
/* Function declarations */
int even(const int num);
int prime(const int num);
int main(){
   FILE * fptrinput,
   * fptreven,
   * fptrodd,
   * fptrprime;
   int num, success;
   fptrinput = fopen("numbers.txt", "r");
   fptreven = fopen("even-numbers.txt" , "w");
   fptrodd = fopen("odd-numbers.txt" , "w");
   fptrprime= fopen("prime-numbers.txt", "w");
   if(fptrinput == NULL || fptreven == NULL || fptrodd == NULL || fptrprime == NULL){
      /* Unable to open file hence exit */
      printf("Unable to open file.\n");
      exit(EXIT_FAILURE);
   }
   /* File open success message */
   printf("File opened successfully. Reading integers from file. \n\n");
   // Read an integer and store read status in success.
   while (fscanf(fptrinput, "%d", &num) != -1){
      if (prime(num))
         fprintf(fptrprime, "%d\n", num);
      else if (even(num))
         fprintf(fptreven, "%d\n", num);
      else
         fprintf(fptrodd, "%d\n", num);

   }
   fclose(fptrinput);
   fclose(fptreven);
   fclose(fptrodd);
   fclose(fptrprime);
   printf("Data written successfully.");
   return 0;
}
int even(const int num){
   return !(num & 1);
}
int prime(const int num){
   int i;
   if (num < 0)
      return 0;
   for ( i=2; i<=num/2; i++ ) {
      if (num % i == 0) {
         return 0;
      }
   }
   return 1;
}

ผลลัพธ์

เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −

File opened successfully. Reading integers from file.
Data written successfully.

คำอธิบาย

ด้านล่างนี้คือคำอธิบายสำหรับโปรแกรมที่ใช้เก็บเลขคู่ คี่ และจำนวนเฉพาะลงในไฟล์แยกกัน -

Input file:
numbers.txt file contains: 1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17
Which is open in read mode (already exists file)
Separated even, odd and prime numbers in separate file after execution
even-numbers.txt contains: 4 6 8 10 12 14 16
odd-numbers.txt contains: 9 15
prime-numbers.txt contains: 1 2 3 5 7 11 13 17